我刚开始接触AndEngine,想要在onSceneTouchEvent
中使用手指坐标绘制一条线。我已经尝试了所有我知道的方法,但似乎有些问题阻碍了它的工作,我不知道是什么原因,无法检测到问题 :/
private Scene scene;
float startX;
float startY;
float lastX;
float lastY;
int lineUsageCount = 0;
@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
switch (pSceneTouchEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = pSceneTouchEvent.getX();
startY = pSceneTouchEvent.getY();
lineUsageCount = 0 ;
break;
case MotionEvent.ACTION_MOVE:
lineUsageCount++;
lastX = pSceneTouchEvent.getX();
lastY = pSceneTouchEvent.getY();
break;
case MotionEvent.ACTION_UP:
if (lineUsageCount <= 5) {
final Line line = new Line(startX, startY, lastX,
lastY, this.getVertexBufferObjectManager());
line.setLineWidth(1);
line.setColor(255, 255, 255);
scene.attachChild(line);
}
break;
}
return true;
}
};
需要先获取起点坐标 startX, startY
,在 Action_Move
事件中获取终点坐标 lastX, lastY
并画出线条,但似乎无法正常工作 :|
Scene scene = new Scene();
。 - Aleksandrs