根据屏幕获取孩子的位置,而不是根据父母在AndEngine中的位置

时间:2014-04-18 04:51:05

标签: entity andengine sprite

我正在研究AndEngine GLES2 我在场景中有一个实体,它有近24个孩子(精灵)在不同的位置附着它。我已经创建了一个功能,将实体从一个位置移动到另一个位置。无论何时我试图获得孩子的位置,它返回给我同样的开头的位置,因为它根据父(实体)返回位置。正如您在下面的示例中所见。

Entity myEntity = new Entity();
for(int i = 0; i < arraylist.size();i++)
{
    myEntity.attachChild(arraylist.get(i));
}
Log.i("MyLog","Y Position of one child "+arraylist.get(4).getY());//Assume it 231
Log.i("MyLog","Y Position of Entity "+myEntity.getY());//Assume it 0
myEntity.setPosition(0,200);
Log.i("MyLog","Y Position of one child "+arraylist.get(4).getY());//it will return 231

它将返回与开头时相同的位置。我想根据屏幕获得这个孩子的位置。我希望它现在是431,因为它在屏幕上向下移动了200个像素。

1 个答案:

答案 0 :(得分:0)

为此,您应该使用convertLocalToSceneCoordinates(final float pX, final float pY)函数,例如: myEntity.convertLocalToSceneCoordinates(arrayList.get(4).getX(),arrayList.get(4).getY())将返回一个浮点数组,该数组根据实体所附加的场景具有x和y位置。