Beispiel #1
0
        /*   public void Load(SpriteBatch spriteBatch,SpriteFont _damage)
         * {
         *     this.spriteBatch = spriteBatch;
         *     font_damage = _damage;
         * }*/

        protected override void LoadContent()
        {
            CelCount celCount = new CelCount(3, 1);

            celAnimationManager.AddAnimation("my_ghost", "my_ghost", celCount, 10);
            frameheight = celAnimationManager.GetAnimationFrameHeight("my_ghost");
            frameWidth  = celAnimationManager.GetAnimationFrameWidth("my_ghost");
            celAnimationManager.ToggleAnimation("my_ghost");

            celAnimationManager.AddAnimation("Ghost_death", "Ghost_death", celCount, 10);
            frameheight = celAnimationManager.GetAnimationFrameHeight("Ghost_death");
            frameWidth  = celAnimationManager.GetAnimationFrameWidth("Ghost_death");
            celAnimationManager.ToggleAnimation("Ghost_death");
        }
Beispiel #2
0
        /* public void Load(SpriteBatch spriteBatch,SpriteFont _damage)
         * {
         *   this.spriteBatch = spriteBatch;
         *   font_damage = _damage;
         * }*/

        protected override void LoadContent()
        {
            CelCount celCount = new CelCount(8, 1);

            celAnimationManager.AddAnimation("Ramona_Swing", "Ramona_Swing", celCount, 10);
            celAnimationManager.PauseAnimation("Ramona_Swing");
            celCount = new CelCount(8, 1);
            celAnimationManager.AddAnimation("Ramona_Slam", "Ramona_Slam", celCount, 10);
            celAnimationManager.PauseAnimation("Ramona_Slam");

            celCount = new CelCount(8, 1);
            celAnimationManager.AddAnimation("Ramona_run", "Ramona_run", celCount, 10);

            frameheight = celAnimationManager.GetAnimationFrameHeight("Ramona_run");
            frameWidth  = celAnimationManager.GetAnimationFrameWidth("Ramona_run");

            celAnimationManager.ToggleAnimation("Ramona_run");
        }
Beispiel #3
0
        public override void Update(GameTime gameTime)
        {
            if (!isDead)
            {
                if (inputHandler.KeyboardHandler.IsKeyDown(Keys.Right))
                {
                    celAnimationManager.ResumeAnimation("orc_right");
                    direction = Direction.Right;

                    position.X += (speed * (float)gameTime.ElapsedGameTime.TotalSeconds);
                }
                else
                {
                    celAnimationManager.PauseAnimation("orc_right");
                }
                if (inputHandler.KeyboardHandler.IsKeyDown(Keys.Left))
                {
                    celAnimationManager.ResumeAnimation("orc_left");
                    direction   = Direction.Left;
                    position.X -= (speed * (float)gameTime.ElapsedGameTime.TotalSeconds);
                }
                else
                {
                    celAnimationManager.PauseAnimation("orc_left");
                }
                if (inputHandler.KeyboardHandler.IsKeyDown(Keys.Up))
                {
                    celAnimationManager.ResumeAnimation("orc_up");
                    direction   = Direction.Up;
                    position.Y -= (speed * (float)gameTime.ElapsedGameTime.TotalSeconds);
                }
                else
                {
                    celAnimationManager.PauseAnimation("orc_up");
                }
                if (inputHandler.KeyboardHandler.IsKeyDown(Keys.Down))
                {
                    celAnimationManager.ResumeAnimation("orc_down");
                    direction   = Direction.Down;
                    position.Y += (speed * (float)gameTime.ElapsedGameTime.TotalSeconds);
                }
                else
                {
                    celAnimationManager.PauseAnimation("orc_down");
                }

                if (inputHandler.KeyboardHandler.IsKeyDown(Keys.Space))
                {
                    atkTime     = DateTime.Now;
                    isAttacking = true;
                    switch (direction)
                    {
                    case Direction.Down:
                        celAnimationManager.ResumeAnimation("orc_slash_down");
                        break;

                    case Direction.Up:
                        celAnimationManager.ResumeAnimation("orc_slash_up");
                        break;

                    case Direction.Left:
                        celAnimationManager.ResumeAnimation("orc_slash_left");
                        break;

                    case Direction.Right:
                        celAnimationManager.ResumeAnimation("orc_slash_right");
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    atkTime     = new DateTime();
                    isAttacking = false;
                }
                if (inputHandler.KeyboardHandler.IsKeyDown(Keys.LeftShift))
                {
                    switch (direction)
                    {
                    case Direction.Down:
                        celAnimationManager.ResumeAnimation("orc_shield_down");
                        break;

                    case Direction.Up:
                        celAnimationManager.ResumeAnimation("orc_shield_up");
                        break;

                    case Direction.Left:
                        celAnimationManager.ResumeAnimation("orc_shield_left");
                        break;

                    case Direction.Right:
                        celAnimationManager.ResumeAnimation("orc_shield_right");
                        break;

                    default:
                        break;
                    }
                }
            }

            int celWidth = celAnimationManager.GetAnimationFrameWidth("orc_left");

            if (position.X > (Game.GraphicsDevice.Viewport.Width - celWidth))
            {
                position.X = (Game.GraphicsDevice.Viewport.Width - celWidth);
            }
            if (position.X < 0)
            {
                position.X = 0;
            }

            base.Update(gameTime);
        }
Beispiel #4
0
        public override void Update(GameTime gameTime)
        {
            if (health < 1)
            {
                isAttacking = false;
            }
            if (health > 0)
            {
                Vector2 dPos = playerPosition - position;
                if (Math.Sqrt(Math.Pow(dPos.X, 2) + Math.Pow(dPos.Y, 2)) <= 64)
                {
                    collision = true;
                }
                else
                {
                    collision = false;
                }
                dPos.Normalize();

                if (Math.Abs(dPos.X) > Math.Abs(dPos.Y))
                {
                    if (dPos.X > 0)
                    {
                        direction = Direction.Right;
                    }
                    if (dPos.X < 0)
                    {
                        direction = Direction.Left;
                    }
                }
                else
                {
                    if (dPos.Y < 0)
                    {
                        direction = Direction.Up;
                    }
                    if (dPos.Y > 0)
                    {
                        direction = Direction.Down;
                    }
                }
                if (!collision)
                {
                    position.X += dPos.X;
                    position.Y += dPos.Y;
                    isAttacking = false;
                }
                else
                {
                    if (collision)
                    {
                        isAttacking = true;
                        atkTime     = DateTime.Now;
                    }

                    else
                    {
                    }
                }


                int celWidth = celAnimationManager.GetAnimationFrameWidth("skeleton_right");

                if (position.X > (Game.GraphicsDevice.Viewport.Width - celWidth))
                {
                    position.X = (Game.GraphicsDevice.Viewport.Width - celWidth);
                }
                if (position.X < 0)
                {
                    position.X = 0;
                }
            }
            base.Update(gameTime);
        }