我第一次使用andengine for android。我正在创建一个简单的文本列表,它只需要能够调用相同的方法,但根据其在列表中的位置发送不同的变量。该列表不需要滚动并且很短。我决定使用简单的文本并创建一个 for 循环,以便从字符串数组中为我制作它们。
循环正常工作并正确创建文本,但是在触摸时它们都执行最后一次触摸分配而不是相应的分配。
是否需要引用 onAreaTouched 代码,或者它是否保存在触摸区域注册后的某个位置。
这里是:
for(x =1; x<base.locale.length;x++){
textLoc[x-1]=new Text(10,(110+(x*30)),base.getmFont(),
base.locale[x],HorizontalAlign.CENTER){
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
base.moveListen(Integer.toString(x));
loadNewScene();
return true;
}
};
scene.getLastChild().attachChild(textLoc[x]);
scene.registerTouchArea(textLoc[x]);
}