Copy link to clipboard
Copied
It Hits when it isn't even touching, I think it tends to hit when it vertically lines up with the ship
Main.as
override public function Updates():void
{
//Collision
for(var i:int=0; i<Main.game_state.object_spawner.ObsticleArray.length; i++)
{
if(game_state.ship.ShipBD.hitTest(new Point(game_state.ship.x, game_state.ship.y), 255, game_state.object_spawner.ObsticleArray.SatiliteBD, new Point(game_state.object_spawner.ObsticleArray.x, game_state.object_spawner.ObsticleArray.y), 255))
{
trace("Hit");
PlayerDead = true;
}
}
}
ship.as
public var ShipBD:BitmapData;
public var ShipBMP:Bitmap;
ShipBD = new BitmapData(Ship_Texture.width, Ship_Texture.height, true, 0x00000000);
ShipBMP = new Bitmap(ShipBD);
ShipBD.draw(Ship_Texture);
addChild(ShipBMP);
ShipBMP.width = 115;
ShipBMP.height = 150;
Obsticle.as
public var SatiliteBD:BitmapData;
public var SatiliteBMP:Bitmap;
SatiliteBD = new BitmapData(Satilitetexture.width, Satilitetexture.height, true, 0x00000000);
SatiliteBMP = new Bitmap(SatiliteBD);
SatiliteBD.draw(Satilitetexture);
addChild(SatiliteBMP);
SatiliteBMP.width = 100;
SatiliteBMP.height = 100;
Thanks
Copy link to clipboard
Copied
why aren't you using the bitmapdata hittest on two bitmapdata objects?
Copy link to clipboard
Copied
how?
Copy link to clipboard
Copied
var mat:Matrix;
var shipBMPD:BitmapData=new BitmapData(stage.stageWidth,stage.stageHeight);
.
.
.
mat=game_state.ship.transform.matrix;
shipBMPD.draw(game_state.ship,mat);
if(game_state.ship.ShipBD.hitTest(shipBMPD))
Find more inspiration, events, and resources on the new Adobe Community
Explore Now