我是 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
并绘制线但它似乎不起作用:|
答案 0 :(得分:5)
问题在于这行代码:if (lineUsageCount <= 5) {
移动手指时,lineUsageCount
将远远超过5.调试此变量,然后在&#34; IF&#34;中更改它。或删除此&#34; IF&#34;来自你的代码。