我正在创建精灵并在随机位置循环添加到场景中。我只是想检查新创建的Sprite是否会导致与现有的Sprite冲突。有没有简单的方法来检查它?
答案 0 :(得分:2)
创建新精灵时,请向其添加用户数据:
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.
}
用户数据可以是您想要的任何内容,也不必是字符串。