Я использую движок, который использует bitmapData.Нет экранных объектов.
Существует ли быстрое пиксельное обнаружение столкновений для такой игровой системы?
Я уже пробовал 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, так что это не должно быть проблемой.