【发布时间】:2012-01-28 16:12:14
【问题描述】:
我正在创建精灵并将其添加到随机位置的循环场景中。我只想检查新创建的 Sprite 是否会与现有的 Sprite 发生冲突。有没有简单的检查方法?
【问题讨论】:
标签: android andengine collision
我正在创建精灵并将其添加到随机位置的循环场景中。我只想检查新创建的 Sprite 是否会与现有的 Sprite 发生冲突。有没有简单的检查方法?
【问题讨论】:
标签: android andengine collision
当你创建一个新的精灵时,向它添加用户数据:
sprite.setUserData("sprite");
然后,在你创建了一个定位的精灵之后,在你添加它之前迭代现有的精灵:
int count = scene.getChildCount();
for(int i = 0; i < count; i++) {
IEntity entity = scene.getChild(i);
if(entity instanceof Sprite) {
if(entity.getUserData().equals("sprite"))
if(((Sprite)entity).collidesWith(newSprite))
//Don't add the new sprite.
}
用户数据可以是任何你想要的,它不必是字符串。
【讨论】: