예제 #1
0
파일: Drop.cs 프로젝트: m133solomon/Explore
        public override void Update()
        {
            if (1 == 1)
            {
                rectangle = new Rectangle((int)(position.X - width / 2), (int)(position.Y - height / 2), (int)width, (int)height);

                position.Y += gravity;

                List <Platform> platforms = GameManager.platforms;

                for (int i = 0; i < platforms.Count; i++)
                {
                    Rectangle obs = platforms[i].Rectangle;

                    Helper.Collision collision = Helper.RectRectExtended(rectangle, obs);

                    if (collision == Helper.Collision.Bottom)
                    {
                        position.Y = obs.Top - width / 2;
                        isGrounded = true;
                    }
                }
            }
            if (Helper.RectRect(rectangle, GameManager.player.Rectangle))
            {
                OnPlayerPickup();
                isDead = true;
            }
        }
예제 #2
0
        public override void Update()
        {
            if (!placed)
            {
                rectangle = new Rectangle((int)(position.X - width / 2), (int)(position.Y - height / 2), width, height);

                position.Y += gravity;

                position += velocity * GameManager.DeltaTime;

                List <Platform> platforms = GameManager.platforms;

                for (int i = 0; i < platforms.Count; i++)
                {
                    Helper.Collision collision = Helper.RectangleCollision(rectangle, platforms[i].Rectangle);

                    if (collision == Helper.Collision.Bottom)
                    {
                        velocity.Y = 0;
                        placed     = true;
                        position.Y = platforms[i].Rectangle.Top - height / 2;
                    }
                }
            }

            lifetime -= GameManager.DeltaTime;

            if (lifetime <= 0)
            {
                isDead = true;
            }

            animation.Update(GameManager.gameTime);
        }