我正在创建 Sprite 并将其添加到随机位置的循环场景中。我只想检查新创建的 Sprite 是否会与现有 Sprite 之一发生碰撞。有什么简单的方法可以检查吗?
最佳答案
创建新 Sprite 时,向其添加用户数据:
sprite.setUserData("sprite");
然后,在你创建一个定位 Sprite 之后,在你添加它之前迭代现有的 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.
}
用户数据可以是任何你想要的,不一定是字符串。
关于android - Andengine - 添加 Sprite 避免与现有的碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9046710/