我正在使用 AndEngine 并且我正在创建一个管理一堆精灵的类。该类需要在用户触摸它时执行一些操作,所以我让它实现了 ITouchArea 接口。
我定义的方法包含:
@Override
public boolean contains(float pX, float pY) {
if( pX >= this.mXCenterPosition - X_DIMENSION/2 &&
pX <= this.mXCenterPosition + X_DIMENSION/2 &&
pY >= this.mYCenterPosition - Y_DIMENSION/2 &&
pY <= this.mYCenterPosition + Y_DIMENSION/2)
return true;
return false;
}
这个方法:
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY)
我仍然怀念的是:
public float[] convertSceneToLocalCoordinates(float pX, float pY)
如果不定义它或返回 null,程序就会崩溃。我试着看一下它在其他类中是如何实现的,但是我并没有真正理解它是做什么的,也不知道它的作用是什么,所以我不知道如何实现它。类的区域是一个简单的矩形。
这个方法应该怎么做?我将如何实施它?