예제 #1
0
        public void Update(double gametime)
        {
            _elapsed += (float)gametime;
            if (_elapsed >= _minTimeToNextBuco)
            {
                if (FbonizziMonoGame.Numbers.RandomBetween(0D, 1D) < _gameManagerReference.BucoProbability)
                {
                    GenerateBuco();
                    _elapsed = 0.0f;
                }
            }

            _grattacieliCamminabili.Update(gametime);
        }
예제 #2
0
        public void Update(double gametime)
        {
            if (OldCameraXPos - CurrentCamera.Position.X < 0)
            {
                ParallaxDir = +1;
            }
            else if (OldCameraXPos - CurrentCamera.Position.X > 0)
            {
                ParallaxDir = -1;
            }
            else
            {
                ParallaxDir = 0;
            }

            OldCameraXPos = CurrentCamera.Position.X;

            float dt = (float)gametime / 1000.0f;

            _grattacieliFondo.MoveX(_parallaxSpeedFondo * dt * ParallaxDir);
            _grattacieliMid.MoveX(_parallaxSpeedMid * dt * ParallaxDir);
            _nuvolificioLontano.MoveX((float)((_parallaxSpeedFondo) * dt * ParallaxDir));
            _nuvolificioMedio.MoveX((float)((_parallaxSpeedMid) * dt * ParallaxDir));

            _grattacieliFondo.Update(gametime);
            _grattacieliMid.Update(gametime);

            _starfield.Update(gametime);

            if (CurrentCamera.Position.Y >= _cieloStellatoSpawnYRange.X &&
                CurrentCamera.Position.Y <= _cieloStellatoSpawnYRange.Y)
            {
                GenerateStars(gametime);
            }

            _nuvolificioLontano.Update(gametime);
            _nuvolificioMedio.Update(gametime);
            _nuvolificioVicino.Update(gametime);
        }