2014-10-25 3 views
0

Я начинаю создавать свою флеш-игру, используя Flashpunk, для коллизий я не хотел использовать hitboxes, потому что у меня были изображения (PNG) с прозрачными частями в них, поэтому я решил использовать Collision Detection Kit, у меня есть проблема при создании списка столкновений, он принимает экранный объект в качестве параметра и не принимает flash punk spritemaps, я пытался отобразить spritemap на объект отображения Flash, но он не работает, есть ли способ использовать CDK с flashpunk?Набор для обнаружения столкновений с FlashPunk

override public function begin():void 
    { 

     _player = new Player(100, 100);// Entity 

     initCollision(_player.sprPlayer);// The Entity Spritemap 
    } 


private function initCollision(player:Spritemap):void { 

     collisionChecker = new CollisionList(player); // Problem here 

    } 

ответ

0

Ну, вы могли бы создать пустой BitmapData с одной и той же ширины & высоты вашего Spritemap, а затем «делают» это тем, что BitmapData, например, так:

var bmd:BitmapData = new BitmapData(64, 64, true, 0); 
var sprite:Spritemap = _player.sprPlayer; 
sprite.render(bmd, new Point(0,0), new Point(0,0)); 
collisionChecker = new CollisionList(bmd); 

Это должно сделать ток в spritemap в frame to BitmapData, который затем можно использовать для CollisionList. Вышеприведенный код является примером, который только демонстрирует, как это сделать. Для вашего реального кода было бы лучше избегать постоянной инициализации новых переменных во время обнаружения столкновения.

Смежные вопросы