Androidゲーム開発学習(6)--VIewタッチパネルMOVEとUPイベントの処理
1480 ワード
イベント処理を設定した後、自分でテストしたところ、クリックしても効果がないことがわかりました.
現在操作するビューを設定していないので、フォーカスが得られないので、コンストラクション関数に追加します.
setFocusable(true);
もしあなたがタッチスクリーンのイベントを処理しているならば、あなたはまたあなたが自分で実現したこのViewがDOWNのイベントを押すことだけをサポートしていることを発見して、ドラッグとUPのイベントを知らないで、
VIewのコンストラクション関数にMOVEとUPをサポートするイベントを追加する必要があります
setClickable(true);
onTouchEventでreturn trueを返すこともできます.
デフォルトで実装する
解決策1
解決策2
現在操作するビューを設定していないので、フォーカスが得られないので、コンストラクション関数に追加します.
setFocusable(true);
もしあなたがタッチスクリーンのイベントを処理しているならば、あなたはまたあなたが自分で実現したこのViewがDOWNのイベントを押すことだけをサポートしていることを発見して、ドラッグとUPのイベントを知らないで、
VIewのコンストラクション関数にMOVEとUPをサポートするイベントを追加する必要があります
setClickable(true);
onTouchEventでreturn trueを返すこともできます.
デフォルトで実装する
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.i(" ", " :"+event.getAction());
return super.onTouchEvent(event);
}
解決策1
public class GameSurfaceView extends SurfaceView implements Runnable ,SurfaceHolder.Callback{
public GameSurfaceView(Context context) {
super(context);
setFocusable(true);
//
setClickable(true);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
}
解決策2
public class GameSurfaceView extends SurfaceView implements Runnable ,SurfaceHolder.Callback{
public GameSurfaceView(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return true;
}
}