我正在使用Andengine为Android设备开发游戏。
我想知道是否有一种更简单的方法来设置对象的onAreaTouched,而不是执行以下操作:
Sprite mySprite = new Sprite(X, Y, mySpriteTextureRegion, this.getVertexBufferObjectManager()) {
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
//Insert Code Here
return true;
}
};
我正在寻找像Android中的按钮设置监听器这样的东西
Button b = (Button)findViewById(...);
b.setOnClickListener(this);
然后:
@Override
public void onClick(View v) {
if(v.getId() == b.getId())
doSomething();
}
我正在寻找它,因为有时我必须在彼此内部设置多个侦听器,这使得代码看起来很有趣和复杂。
答案 0 :(得分:1)
你有与android中相同类型的功能(如果你不想要触摸听众,你可以这样使用)
import org.andengine.entity.sprite.ButtonSprite.OnClickListener;
只需实现“OnClickListener”类并对ButtonSprite执行操作,如下所示:
ButtonSprite btn = new ButtonSprite(0, 0, mPlayerTiledTextureRegion1, this.getVertexBufferObjectManager());
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(ButtonSprite arg0, float arg1, float arg2) {
// TODO Auto-generated method stub
}
});
希望这会有所帮助