示例#1
0
        public void update()
        {
            var movement = new Vector2(_movementInput.value, 0);

            // hack for now since we have no ground
            if (this.entity.localPosition.Y >= 500)
            {
                _velocity.Y = 0;
                _mState     = EntityConstants.MovementStates.REST;
            }

            if (_jumpInput.isPressed && _mState == EntityConstants.MovementStates.REST)
            {
                _velocity.Y = -1 * EntityConstants.PlayerVelocity / EntityConstants.PixelPerMeter;
                _mState     = EntityConstants.MovementStates.JUMP;
            }

            var distance = Vector2.Multiply(movement, EntityConstants.PlayerVelocity);

            distance = Vector2.Multiply(distance, Time.deltaTime);

            if (_mState == EntityConstants.MovementStates.JUMP)
            {
                distance.Y = (float)UpdateJump();
            }

            //Debug.log(this.transform.localPosition);

            //CollisionResult result;
            //_mover.move(distance, out result);
        }
示例#2
0
        public void update()
        {
            var movement = new Vector2(_movementInput.value, 0);

            if (_jumpInput.isPressed && _mState == EntityConstants.MovementStates.REST)
            {
                _velocity.Y = -1 * EntityConstants.JumpVelocity / EntityConstants.PixelPerMeter;
                _mState     = EntityConstants.MovementStates.JUMP;
            }

            var distance = Vector2.Multiply(movement, EntityConstants.PlayerVelocity);

            distance = Vector2.Multiply(distance, Time.deltaTime);

            // movement component
            if (_mState == EntityConstants.MovementStates.JUMP)
            {
                distance.Y = (float)UpdateJump();
            }

            Debug.log(this.transform.localPosition);

            //_mover.move(distance, out result);
            _moveComp.update(distance);
            Animate();
            // movement component

            var ground = this.transform.localPosition;

            Debug.log(ground);

            ground.Y += armor.Height / 2 + 1;
            var hit = Physics.linecast(this.transform.localPosition, ground);

            Debug.log(ground);

            if (hit.collider != null && hit.collider.entity.name.Equals("ground"))
            {
                _velocity.Y = 0;
                _mState     = EntityConstants.MovementStates.REST;
            }
            else
            {
                _mState = EntityConstants.MovementStates.JUMP;
            }

            HandleFireInput();

            Debug.log(_mState);
        }
示例#3
0
        public override void onAddedToEntity()
        {
            _mState   = EntityConstants.MovementStates.JUMP;
            _velocity = new Vector2(0, 0);

            _jumpInput = new VirtualButton();
            _jumpInput.nodes.Add(new Nez.VirtualButton.KeyboardKey(Keys.Up));

            _test = new VirtualButton();
            _test.nodes.Add(new Nez.VirtualButton.KeyboardKey(Keys.Down));

            _movementInput = new VirtualIntegerAxis();
            _movementInput.nodes.Add(new Nez.VirtualAxis.KeyboardKeys(VirtualInput.OverlapBehavior.TakeNewer, Keys.Left, Keys.Right));
            _mover = new Mover();

            this.entity.addComponent(_mover);
            this.entity.addComponent(new BoxCollider());
        }
示例#4
0
        public override void onAddedToEntity()
        {
            _mState     = EntityConstants.MovementStates.JUMP;
            _mDirection = EntityConstants.MovementDirection.RIGHT;
            _velocity   = new Vector2(0, 0);

            _sprite = this.getComponent <Sprite>();

            _jumpInput = new VirtualButton();
            _jumpInput.nodes.Add(new Nez.VirtualButton.KeyboardKey(Keys.W));

            _fireInput = new VirtualButton();
            _fireInput.nodes.Add(new Nez.VirtualButton.KeyboardKey(Keys.S));

            _movementInput = new VirtualIntegerAxis();
            _movementInput.nodes.Add(new Nez.VirtualAxis.KeyboardKeys(VirtualInput.OverlapBehavior.TakeNewer, Keys.A, Keys.D));

            //_moveComp = new MovementComponent();
            //this.entity.addComponent(_moveComp);

            _moveComp = this.entity.getComponent <MovementComponent>();
        }