예제 #1
0
        private void AddExplosion(Vector2 position, ExplosionType type)
        {
            AnimationSprite temp;
            switch (type)
            {
                case ExplosionType.Big:
                    temp = new AnimationSprite(_explosionTextures[0],16);
                    break;
                case ExplosionType.Medium:
                    temp = new AnimationSprite(_explosionTextures[1], 16);
                    break;
                case ExplosionType.Bullet:
                    temp = new AnimationSprite(_explosionTextures[3], 16);
                    break;
                case ExplosionType.BulletUfo:
                    temp = new AnimationSprite(_explosionTextures[4], 16);
                    break;
                default:
                    temp = new AnimationSprite(_explosionTextures[2], 16);
                    break;
            }
            temp.Position = position;

            temp.Rotation = _random.Next(-6, 6);
            temp.Create();
            _explosions.Add(temp);
        }
예제 #2
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            // Set the sharing mode of the graphics device to turn on XNA rendering
            SharedGraphicsDeviceManager.Current.GraphicsDevice.SetSharingMode(true);

            // Create a new SpriteBatch, which can be used to draw textures.
            _spriteBatch = new SpriteBatch(SharedGraphicsDeviceManager.Current.GraphicsDevice);

            // TODO: use this.content to load your game content here

            _barTex = _contentManager.Load<Texture2D>("Sprites/HealthBar2");
            _healthBar = new HealthBar(_barTex);
            _energyBar = new HealthBar(_barTex);
            _aidkitTexture = _contentManager.Load<Texture2D>("Sprites/aidkit");
            _ship = new AnimationSprite(_contentManager.Load<Texture2D>("Sprites/rocket"), 32)
                        {
                            Position = new Vector2(_screenWidth/2, _screenHeight/2)
                        };
            _ship.Life = LifeAmount;
            _ship.Energy = EnergyAmount;
            _ship.Create();
            _healthBar.Min = 0;
            _healthBar.Max = _ship.Life;
            _healthBar.Value = _ship.Life;
            _energyBar.Min = 0;
            _energyBar.Max = _ship.Energy;
            _energyBar.Value = _ship.Energy;

            _explosionTextures.Add(_contentManager.Load<Texture2D>("Sprites/explosionBig"));
            _explosionTextures.Add(_contentManager.Load<Texture2D>("Sprites/explosionMedium"));
            _explosionTextures.Add(_contentManager.Load<Texture2D>("Sprites/explosionSmall"));
            _explosionTextures.Add(_contentManager.Load<Texture2D>("Sprites/explosionBullet"));
            _explosionTextures.Add(_contentManager.Load<Texture2D>("Sprites/explosionBulletUfo"));

            _ufo = new AnimationSprite(_contentManager.Load<Texture2D>("Sprites/ufo"),10);
            _bullet = new Sprite(_contentManager.Load<Texture2D>("Sprites/bullet"));
            _ufobullet = new Sprite(_contentManager.Load<Texture2D>("Sprites/ufobullet"));
            _specialBulletTexture = _contentManager.Load<Texture2D>("Sprites/specialbullet");
            for (int i = 1; i < 4; i++)
                _asteroidTextures.Add(
                    _contentManager.Load<Texture2D>("Sprites/large" + i));

            for (int i = 1; i < 4; i++)
                _asteroidTextures.Add(
                    _contentManager.Load<Texture2D>("Sprites/medium" + i));

            for (int i = 1; i < 4; i++)
                _asteroidTextures.Add(
                    _contentManager.Load<Texture2D>("Sprites/small" + i));

            _myFont = _contentManager.Load<SpriteFont>("Sprites/font01");
            _myFont2 = _contentManager.Load<SpriteFont>("Sprites/font02");
            _control = _contentManager.Load<Texture2D>("Sprites/control");
            _backgroundTexture = _contentManager.Load<Texture2D>("Sprites/BG");
            // Start the timer
            _timer.Start();

            base.OnNavigatedTo(e);
        }