# Problem replacing a mc with a bitmap image

**URL:** <https://forum.kirupa.com/t/problem-replacing-a-mc-with-a-bitmap-image/316255>\
**Category:** Uncategorized\
**Created:** [November 17, 2010, 3:32am UTC](https://forum.kirupa.com/t/problem-replacing-a-mc-with-a-bitmap-image/316255 "2010-11-17T03:32:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![WEich1213](https://avatars.discourse-cdn.com/v4/letter/w/ecb155/32.png) [@WEich1213](https://forum.kirupa.com/u/WEich1213)\
**Post date:** [November 17, 2010, 3:32am UTC](https://forum.kirupa.com/t/problem-replacing-a-mc-with-a-bitmap-image/316255/1 "2010-11-17T03:32:04Z")

</div>

hello,

I am trying to replace a movie clip image with a bitmap image and now the code to fire the image(missile) doesn’t work. I get these errors:

1119: Access of possibly undefined property dx through a reference with static type flash.display:Bitmap.  
1119: Access of possibly undefined property dy through a reference with static type flash.display:Bitmap.

anyone know why it’s not working? Thanks

package {  
import flash.display.MovieClip;  
import flash.events.Event;  
import flash.events.MouseEvent;  
import flash.display.Bitmap;  
import flash.display.BitmapData;

```
public class PlayerMissiles extends MovieClip
{
	static const shipRadius:Number = 20;
	static const missileSpeed:Number = .48;
	public static var missiles:Array;
	
	private var _angle:Number;
	private var _shotFired:Boolean;
	private var _stage:uint;
	private var dx:Number;
	private var dy:Number;
	static var _player:Bitmap;
	public var _playerX:Number; 
	public var _playerY:Number;
	public var imageBitmapData:BitmapData;
	
	public static var missile:Bitmap; 
	
	
	public function PlayerMissiles()
	{
		addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
	}
	private function onAddedToStage(event:Event):void
	{ 
	
		//Initialize properties
		
		missiles = new Array();
		_angle = 0;
		_shotFired = false;
		dx = 0;
		dy = 0;
		_player = PlayerShip.Player;
		
		
		//Add event listenters
		stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
		stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
		addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
	}
	private function onRemovedFromStage(event:Event):void
	{
		
		removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
		removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage)
	}
	
	private function onMouseDown(event:MouseEvent):void
	{
		if (! _shotFired)
		{
			shootMissile();
			_shotFired = true;
		}
	}
	private function onMouseUp(event:MouseEvent):void
	{
		_shotFired = false;
	}
	
	
	
	public function frameEvents(){
		moveMissiles();
	}
	
		private function shootMissile(){
			
			_playerX = _player.x + 31.5;
			_playerY = _player.y + 26.5;
			
			
			
			imageBitmapData = new Bullet(27, 24);
		
			missile = new Bitmap(imageBitmapData);
			
			
			_angle = Math.atan2(_playerY - stage.mouseY, _playerX - stage.mouseX);
			
			
			missile.dx = Math.cos(_angle) * -10;
			missile.dy = Math.sin(_angle) * -10;
			
			var radius:int = -50;
			var missile_StartX:Number = _playerX + radius * Math.cos(_angle);
			var missile_StartY:Number = _playerY + radius * Math.sin(_angle);
			
			
			missile.x = missile_StartX;
			missile.y = missile_StartY;
			addChild(missile);
			missiles.push(missile);
			// animate missiles
		}
		
		
		
	public function moveMissiles(){
		for(var o:int=missiles.length-1;o&gt;=0;o--) {
			// move
			
			missiles[o].x += missiles[o].dx * missileSpeed;
			missiles[o].y += missiles[o].dy * missileSpeed;
			// moved off screen
			if ((missiles[o].x &lt; 0) || (missiles[o].x &gt; 650) || (missiles[o].y &lt; 0) || (missiles[o].y &gt; 600)) {
				removeChild(missiles[o]);
				delete missiles[o];
				missiles.splice(o,1);
			
	}
}
			
			
	
	}
	public static function get Missiles():Array
		{
			return missiles;
		}
	
	
	
	
}

```

}
