課題で月面着陸ゲームを作っています
ボタンがあり、ボタンが押されているか ACTION_DOWN のときに onTouchListener を (onClick ではなく) 設定し、ロケットが上昇して ACTION_UP で加速を停止します。
現在、これは ACTION_DOWN で 1 回だけ実行されているため、onClick ボタンのように動作しています。
任意の助けをいただければ幸いです
- gView は、すべての魔法が発生するゲーム クラスのインスタンスです。
gView.mainThruster() は、宇宙船を上向きに飛ばすゲーム クラスのメソッドを呼び出します。例: Y -= 10;
mThrust = (Button) findViewById(R.id.mainThrustBtn); mThrust.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN) { if(fuel > 0){ gView.checkFuel(fuel); gView.mainThruster(); mThrustSound.start(); fuel -= 0.5; fuelGauge.setProgress((int)fuel); } } else if(event.getAction() == MotionEvent.ACTION_UP){ mThrustSound.pause(); //mThrustSound.release(); } else{ //do nothing } return true; } });