Exemple #1
0
        public void Update()
        {
            time += GlobalTime.ElapsedGameMilliseconds / 1000;
            double progress = time / BOB_TIME;

            if (progress > 1)
            {
                progress = 1;
            }
            position.Y = (float)((up ? 38 : 30) + (up ? -8 : 8) * Easing.ApplyEasingFromOne(progress, EasingMode.QuadInOut));
            if (progress == 1)
            {
                up   = !up;
                time = 0;
            }

            if (isOptionMenu)
            {
                UpdateOptionsMenu();
            }
            else
            {
                UpdateMainMenu();
            }
        }
Exemple #2
0
        public override void Update()
        {
            float time = (float)GlobalTime.ElapsedGameMilliseconds / 1000;

            if (progress < appearTime)
            {
                position.Y = (float)(srcYPos + (dstYPos - srcYPos) * Easing.ApplyEasingFromOne(progress / appearTime, EasingMode.CubicOut));
                progress  += time;
            }

            if (moving)
            {
                if (goingLeft)
                {
                    position.X -= X_VELOCITY * time;
                }
                else
                {
                    position.X += X_VELOCITY * time;
                }
            }
            if (position.X < 0)
            {
                position.X = 0;
                goingLeft  = false;
            }
            if (position.X + sprite.rectangle.Width > 256)
            {
                position.X = 256 - sprite.rectangle.Width;
                goingLeft  = true;
            }

            if (shootTime > SHOOT_TIME)
            {
                shootTime -= SHOOT_TIME;
                GameScene.AddEntity(new Bullet(this, BulletPath.StraightDown, new Vector2(position.X + 7, position.Y + 14), BULLET_VELOCITY));
                shootTime += random.NextDouble() * SHOOT_TIME / 2;
            }
            shootTime += time;

            if (GameScene.Flip)
            {
                sprite.flip = sprite.flip == SpriteEffects.None ? SpriteEffects.FlipHorizontally : SpriteEffects.None;
            }

            bbox.X = (int)position.X;
            bbox.Y = (int)position.Y;

            base.Update();
        }
Exemple #3
0
        public override void Update()
        {
            hitThisFrame = false;
            float time = (float)GlobalTime.ElapsedGameMilliseconds / 1000;

            if (progress < appearTime)
            {
                position.Y = (float)(srcYPos + (dstYPos - srcYPos) * Easing.ApplyEasingFromOne(progress / appearTime, EasingMode.CubicOut));
                progress  += time;
            }

            if (moving)
            {
                if (goingLeft)
                {
                    position.X -= X_VELOCITY * time;
                }
                else
                {
                    position.X += X_VELOCITY * time;
                }
            }
            if (position.X < 0)
            {
                position.X = 0;
                goingLeft  = false;
            }
            if (position.X + sprite.rectangle.Width > 256)
            {
                position.X = 256 - sprite.rectangle.Width;
                goingLeft  = true;
            }

            if (GameScene.Flip)
            {
                sprite.flip = sprite.flip == SpriteEffects.None ? SpriteEffects.FlipHorizontally : SpriteEffects.None;
            }

            bbox.X = (int)position.X;
            bbox.Y = (int)position.Y;

            base.Update();
        }
Exemple #4
0
        public static void Update(GameTime gameTime)
        {
            TotalProgramMilliseconds   = gameTime.TotalGameTime.TotalMilliseconds;
            ElapsedProgramMilliseconds = gameTime.ElapsedGameTime.TotalMilliseconds;

            if (pulsing)
            {
                if (progress > time)
                {
                    pulsing         = false;
                    SpeedMultiplier = oSpeed;
                }
                else
                {
                    SpeedMultiplier = speed + (oSpeed - speed) * Easing.ApplyEasingFromOne(progress / time, easingMode);
                    progress       += ElapsedProgramMilliseconds / 1000;
                }
            }

            ElapsedGameMilliseconds = ElapsedProgramMilliseconds * SpeedMultiplier;
            TotalGameMilliseconds  += ElapsedGameMilliseconds;
        }
Exemple #5
0
        public override void Update()
        {
            float time = (float)GlobalTime.ElapsedGameMilliseconds / 1000;

            if (GameInput.IsButtonDown(NESInput.Up))
            {
                pos.Y -= VELOCITY * time;
                if (pos.Y < 0)
                {
                    pos.Y = 0;
                }
            }
            if (GameInput.IsButtonDown(NESInput.Down))
            {
                pos.Y += VELOCITY * time;
                if (pos.Y + sprite.rectangle.Height > 240)
                {
                    pos.Y = 240 - sprite.rectangle.Height;
                }
            }
            if (GameInput.IsButtonDown(NESInput.Left))
            {
                pos.X -= VELOCITY * time;
                if (pos.X < 0)
                {
                    pos.X = 0;
                }
            }
            if (GameInput.IsButtonDown(NESInput.Right))
            {
                pos.X += VELOCITY * time;
                if (pos.X + sprite.rectangle.Width > 256)
                {
                    pos.X = 256 - sprite.rectangle.Width;
                }
            }
            if (GameInput.IsButtonDown(NESInput.A))
            {
                if (shootDelay >= BULLET_SHOOT_DELAY)
                {
                    ShootBullet();
                }
            }
            if (particleDelay >= PARTICLE_SPAWN_DELAY)
            {
                ParticleManager.CreateParticles(ContentIndex.Pixel, new Vector2(pos.X + random.Next(6, 10), pos.Y + 14), PARTICLE_AMOUNT, new Vector2(0, 1), spread: 0, minSpeed: 10, maxSpeed: 20, Color.CornflowerBlue, colorHueShift: 1, 1);
                particleDelay -= PARTICLE_SPAWN_DELAY;
            }

            if (speed > 0)
            {
                GlobalTime.ChangeSpeed(Easing.ApplyEasingFromOne(1 - speed, EasingMode.CubicIn));
                speed -= (time * 5);
            }
            else
            {
                speed = 0;
            }

            if (shootDelay < BULLET_SHOOT_DELAY)
            {
                shootDelay += time;
            }
            if (particleDelay < PARTICLE_SPAWN_DELAY)
            {
                particleDelay += time;
            }

            bbox.X = (int)pos.X;
            bbox.Y = (int)pos.Y;

            base.Update();
        }