我是box2d的新手。我想创建精灵的实例(硬币像小翅膀)并让它与玩家碰撞。有一个精灵体定义就足够了或者我必须为所有实例精灵分别创建一个精灵体 我需要精确的碰撞效果,如小翅膀硬币收集。任何帮助plz亲密我。谢谢
答案 0 :(得分:1)
如果我必须解决这个问题,我会创建一个类(例如Coin),然后创建它的多个实例并使用数组存储它们。以下是创建新硬币并将其存储在数组中的代码:
//in the constructor function of the playing screen:
coins = new Array();
//the constructor function of the Coin should contain the startX and startY coordinate
var newCoin= new Coin(100, 50);
coins.push( newCoin );
addChild( newCoin );
您可以使用exampleArray.pop --->删除数组元素。这将删除最后一个元素 或exampleArray.splice(x,z)x是您删除的元素,z是您删除的元素数。 exampleArray.splice(5,2)将从5开始删除2个元素。数组的第一个元素编号为0,第二个元素编号为1,依此类推......
你可以检查这样的碰撞:
for each (var coin in coins)
{
if (coin.hitTestObject(player))
{
//do something
}
}