Update() public method

public Update ( float dt, World world ) : void
dt float
world World
return void
コード例 #1
0
 public static void Update()
 {
     foreach (BaseObject obj in objs)
     {
         obj.Update();
     }
     foreach (BaseObject obj in asteroids)
     {
         obj.Update();
     }
     bullet?.Update();
     ship.Update();
 }
コード例 #2
0
        public override void Update(GameTime gameTime)
        {
            keyState = Keyboard.GetState();

            tankRect.X = (int)tankPosition.X;
            tankRect.Y = (int)tankPosition.Y;

            tankPosition.Y += tempSpeed;

            if (bullet.type != BulletType.NullBullet)
            {
                bullet.Update(gameTime);
            }

            #region Damage Clouds & Sparks

            if (explosionTimer > 0)
            {
                if (health < 25 & !showYourFateIsSealedClouds)
                {
                    if (damageClouds != null)
                    {
                        damageClouds.Dispose();
                        damageClouds = null;
                    }

                    while (sparks.Count > 0)
                    {
                        sparks[0].Dispose();
                        sparks.RemoveAt(0);
                    }

                    showLightDamageClouds      = false;
                    showDamageClouds           = false;
                    showSevereClouds           = false;
                    showCritialClouds          = false;
                    showYourFateIsSealedClouds = true;
                }
                else if (health >= 25 && health < 75 & !showCritialClouds)
                {
                    if (damageClouds != null)
                    {
                        damageClouds.Dispose();
                        damageClouds = null;
                    }

                    while (sparks.Count > 0)
                    {
                        sparks[0].Dispose();
                        sparks.RemoveAt(0);
                    }

                    showLightDamageClouds      = false;
                    showDamageClouds           = false;
                    showSevereClouds           = false;
                    showCritialClouds          = true;
                    showYourFateIsSealedClouds = false;
                }
                else if (health >= 75 && health < 125 & !showSevereClouds)
                {
                    if (damageClouds != null)
                    {
                        damageClouds.Dispose();
                        damageClouds = null;
                    }

                    while (sparks.Count > 0)
                    {
                        sparks[0].Dispose();
                        sparks.RemoveAt(0);
                    }

                    showLightDamageClouds      = false;
                    showDamageClouds           = false;
                    showSevereClouds           = true;
                    showCritialClouds          = false;
                    showYourFateIsSealedClouds = false;
                }
                else if (health >= 125 && health < 175 & !showDamageClouds)
                {
                    if (damageClouds != null)
                    {
                        damageClouds.Dispose();
                        damageClouds = null;
                    }

                    while (sparks.Count > 0)
                    {
                        sparks[0].Dispose();
                        sparks.RemoveAt(0);
                    }

                    showLightDamageClouds      = false;
                    showDamageClouds           = true;
                    showSevereClouds           = false;
                    showCritialClouds          = false;
                    showYourFateIsSealedClouds = false;
                }
                else if (health >= 175 && health < 200 & !showLightDamageClouds)
                {
                    if (damageClouds != null)
                    {
                        damageClouds.Dispose();
                        damageClouds = null;
                    }

                    while (sparks.Count > 0)
                    {
                        sparks[0].Dispose();
                        sparks.RemoveAt(0);
                    }

                    showLightDamageClouds      = true;
                    showDamageClouds           = false;
                    showSevereClouds           = false;
                    showCritialClouds          = false;
                    showYourFateIsSealedClouds = false;
                }
                else if (health >= 200)
                {
                    if (damageClouds != null)
                    {
                        damageClouds.Dispose();
                        damageClouds = null;
                    }

                    while (sparks.Count > 0)
                    {
                        sparks[0].Dispose();
                        sparks.RemoveAt(0);
                    }

                    showLightDamageClouds      = false;
                    showDamageClouds           = false;
                    showSevereClouds           = false;
                    showCritialClouds          = false;
                    showYourFateIsSealedClouds = false;
                }

                if (showLightDamageClouds && damageClouds == null)
                {
                    initializeDamageClouds(1, 1, Color.White);
                    initializeSpark(1, 5, 2.0f);
                }
                else if (showDamageClouds && damageClouds == null)
                {
                    initializeDamageClouds(5, 5, Color.LightGray);
                    initializeSpark(2, 5, 1.6f);
                }
                else if (showSevereClouds && damageClouds == null)
                {
                    initializeDamageClouds(10, 10, Color.Gray);
                    initializeSpark(3, 10, 1.2f);
                }
                else if (showCritialClouds && damageClouds == null)
                {
                    initializeDamageClouds(20, 20, Color.DarkGray);
                    initializeSpark(4, 15, .8f);
                }
                else if (showYourFateIsSealedClouds && damageClouds == null)
                {
                    initializeDamageClouds(200, 200, Color.DarkSlateGray);
                    initializeSpark(6, 20, .4f);
                }

                if (damageClouds != null)
                {
                    damageClouds.changeEmitterPosition(new Vector2(tankPosition.X + tankPic.Width / 2, tankPosition.Y + tankPic.Height / 2));
                    damageClouds.ParticleUpdate(gameTime);
                }

                foreach (Spark s in sparks)
                {
                    s.changeEmitterPosition(new Vector2(tankPosition.X + tankPic.Width / 2, tankPosition.Y + tankPic.Height / 2));
                }
            }
            else
            {
                if (damageClouds != null)
                {
                    damageClouds.Dispose();
                    damageClouds = null;
                }

                while (sparks.Count > 0)
                {
                    sparks[0].Dispose();
                    sparks.RemoveAt(0);
                }
            }

            #endregion Damage Clouds & Sparks

            if (recoil)
            {
                tankRecoil();
            }

            if (tanksplosion != null)
            {
                explosionTimer -= (float)gameTime.ElapsedGameTime.TotalSeconds;
            }

            base.Update(gameTime);
        }