示例#1
0
        public Player(Vector2 pos)
            : base(pos)
        {
            sprite = Support.TiledSpriteFromFile("/Application/assets/robot_sheet2.png", 9, 4);
              sprite.CenterSprite();

              WalkLeftAnimation = new Support.AnimationAction(sprite, 2, 9, 1.0f, looping: true);
              WalkRightAnimation = new Support.AnimationAction(sprite, 20, 27, 1.0f, looping: true);
              WalkBackAnimation = new Support.AnimationAction(sprite, 11, 18, 1.0f, looping: true);
              WalkFrontAnimation = new Support.AnimationAction(sprite, 29, 36, 1.0f, looping: true);

              walkDirection = WalkDirs.WLK_NONE;
        }
示例#2
0
        public override void Tick(float dt)
        {
            base.Tick(dt);
              walking = false;
              Vector2 delta = Vector2.Zero;

              if(Input2.GamePad0.Right.Down){
            walking = true;
            walkright = true;
            if(walkDirection != WalkDirs.WLK_RIGHT){
              sprite.StopAllActions();
              sprite.RunAction(WalkRightAnimation);

            }
            walkDirection |= WalkDirs.WLK_RIGHT;
            delta = new Vector2(runSpeed,0);
              } else if(Input2.GamePad0.Left.Down){
            walking = true;
            walkleft = true;
            if(walkDirection != WalkDirs.WLK_LEFT){
              sprite.StopAllActions();
              sprite.RunAction(WalkLeftAnimation);

            }
            walkDirection |= WalkDirs.WLK_LEFT;
            delta = new Vector2(-runSpeed,0);
              }

              if(Input2.GamePad0.Up.Down){
            walking = true;
            walkup = true;
            if(walkDirection != WalkDirs.WLK_UP){
              sprite.StopAllActions();
              sprite.RunAction(WalkBackAnimation);

            }
            walkDirection |= WalkDirs.WLK_UP;
            delta += new Vector2(0,runSpeed);
              } else if(Input2.GamePad0.Down.Down){
            walking = true;
            walkdown = true;
            if(walkDirection != WalkDirs.WLK_DOWN){
              sprite.StopAllActions();
              sprite.RunAction(WalkFrontAnimation);

            }
            walkDirection |= WalkDirs.WLK_DOWN;
            delta += new Vector2(0,-runSpeed);
              }

              sprite.Position += delta;

              if(Input2.GamePad0.Square.Down){
            Support.SoundSystem.Instance.Play("WaterPlop_2.wav");
            waterClosestPlants();
              }

              if(!walking){
            sprite.StopAllActions();
            walkDirection = WalkDirs.WLK_NONE;
            walknone = true;
              }
              if(grabbing != null){
            carryplant = false;
            grabbing.sprite.Position = new Vector2(sprite.Position.X, sprite.Position.Y+70);
              }
              if(!Input2.GamePad0.Circle.Down && grabbing != null){
            grabbing.grabbed = false;
            grabbing = null;
              }
        }