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); }
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); }