AndEngineを使用するゲームアプリでは、ボタンスプライト上でのスワイプモーションを検出して、指がボタンスプライト上にあるときにボタンを拡大し、指がスプライトからスワイプしたときにスケールを1.0fに戻します。意味:
- ボタン領域の外側を指で下ろします
- ボタンをスワイプします(ボタンのサイズは大きくなります)が、指を下に向けたままにします
- ボタンをスワイプし続けると、ボタンは元のスケールに戻ります。
私は以下を試しました:
myButton = new Sprite(posX, posY, resourcesManager.rightButtonRegion, vbom) {
@Override
public boolean onAreaTouched(final TouchEvent pAreaTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
switch (pAreaTouchEvent.getAction()) {
case TouchEvent.ACTION_DOWN:
this.setScale(1.25f);
break;
case TouchEvent.ACTION_UP:
this.setScale(1.0f);
break;
case TouchEvent.ACTION_MOVE:
this.setScale(1.0f);
break;
case TouchEvent.ACTION_OUTSIDE:
this.setScale(1.0f);
break;
}
return true;
}
};
しかし、ボタンの外側でスワイプを開始し、ボタンの上で指を動かすと、ボタンのサイズが拡大されません。この効果を達成する方法へのポインタを高く評価してください。SurfaceViewを使用したAndengine以外のソリューションがある場合は、それについても意見をいただければ幸いです。