我正在使用使用bitmapData的blitting引擎。没有显示对象。像素完美碰撞+ blitting
是否有快速像素完美的碰撞检测可用于这样的游戏系统?
我已经尝试过CDK,但是没有起作用,因为它假定你有显示对象,而我的对象不使用它。有时候我的物体很大,在这种情况下hitTest很糟糕。我已经尝试了圈到圈的碰撞,但是这也没有办法。任何帮助或提示?
更新:
public function renderTile(canvasBitmapData:BitmapData):void
{
x = nextX;
y = nextY;
point.x = x;
point.y = y;
if (animationCount >= animationDelay)
{
animationCount = 0;
if(reverse)
{
currentTile--;
if (currentTile < 1)
{
currentTile = tilesLength - 1;
}
} else {
currentTile++;
if (currentTile == tilesLength)
{
currentTile = 0;
}
}
} else {
animationCount++;
}
canvasBitmapData.lock();
tileRect.x = int((currentTile % spritesPerRow)) * tileWidth;
tileRect.y = int((currentTile/spritesPerRow)) * tileHeight;
bitmapData = new BitmapData(tileWidth - oversize, tileHeight - oversize, true, 0x000000);
canvasBitmapData.copyPixels(tileSheet, tileRect, point);
canvasBitmapData.unlock();
}
调用则hitTest:
if (player.bitmapData.hitTest(player.point, 255, tempAsteroid.bitmapData, tempAsteroid.point, 255))
目前的冲突不会在所有的工作。我可以飞过我的物体,我完全没有碰撞。我读过flash player standalone v10.1与bitmapData.hitTest有关的问题,但我使用的是10.3,所以这应该不是问题。
什么阻击器引擎您使用的? –