Problem replacing a mc with a bitmap image

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>=0;o--) {
			// move
			
			missiles[o].x += missiles[o].dx * missileSpeed;
			missiles[o].y += missiles[o].dy * missileSpeed;
			// moved off screen
			if ((missiles[o].x < 0) || (missiles[o].x > 650) || (missiles[o].y < 0) || (missiles[o].y > 600)) {
				removeChild(missiles[o]);
				delete missiles[o];
				missiles.splice(o,1);
			
	}
}
			
			
	
	}
	public static function get Missiles():Array
		{
			return missiles;
		}
	
	
	
	
}

}