1
我正在创建精灵并将它添加到随机场景中的场景中。我只想检查新创建的Sprite是否会与现有的Sprite产生冲突。有没有简单的方法来检查它?Andengine - 添加精灵避免与现有的碰撞
我正在创建精灵并将它添加到随机场景中的场景中。我只想检查新创建的Sprite是否会与现有的Sprite产生冲突。有没有简单的方法来检查它?Andengine - 添加精灵避免与现有的碰撞
当你创建一个新的精灵,用户数据添加到它:
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.
}
用户数据可以是任何你想要的,它不一定是一个字符串。
谢谢 - 我做了这样的循环,只是工作,如果有比检查所有其他对象的collisision更有效的方法。 – piotrpo 2012-01-29 14:30:32