예제 #1
0
        public MissileSprite(Texture2D missleTexture, Texture2D exhaustTexture)
        {
            _texture        = missleTexture;
            _exhaustEmitter = new ExhaustEmitter(exhaustTexture, _position);

            var ratio = (float)_texture.Height / (float)_texture.Width;

            _missileWidth  = 50;
            _missileHeight = (int)(_missileWidth * ratio);

            // note that the missile is scaled down! so it's bounding box must be scaled down as well
            var bbRatio = (float)_missileWidth / _texture.Width;

            var bbOriginalPositionX = 352;
            var bbOriginalPositionY = 7;
            var bbOriginalWidth     = 150;
            var bbOriginalHeight    = 500;

            var bbPositionX = bbOriginalPositionX * bbRatio;
            var bbPositionY = bbOriginalPositionY * bbRatio;
            var bbWidth     = bbOriginalWidth * bbRatio;
            var bbHeight    = bbOriginalHeight * bbRatio;

            AddBoundingBox(new Engine.Objects.BoundingBox(new Vector2(bbPositionX, bbPositionY), bbWidth, bbHeight));
        }
        public MissileSprite(Texture2D missleTexture, Texture2D exhaustTexture)
        {
            _texture        = missleTexture;
            _exhaustEmitter = new ExhaustEmitter(exhaustTexture, _position);

            var ratio = (float)_texture.Height / (float)_texture.Width;

            _missileWidth  = 50;
            _missileHeight = (int)(_missileWidth * ratio);
        }
예제 #3
0
        public override void LoadContent()
        {
            var exhaustPosition = new Vector2(_viewportWidth / 2, _viewportHeight / 2);

            _exhaustEmitter = new ExhaustEmitter(LoadTexture(ExhaustTexture), exhaustPosition);
            AddGameObject(_exhaustEmitter);

            _player          = new PlayerSprite(LoadTexture(PlayerFighter));
            _player.Position = new Vector2(500, 500);
            AddGameObject(_player);
        }