私はAndroidStudio(Libgdx、Gamemaker ...なし)でJavaとXMLだけを使ってSpace Invadersを開発しています。問題があります...あなたが私を助けてくれることを願っています。あなたは宇宙船と2つのボタン(左の1との右側に他のボタンを見つけることができるRelativeLayoutの下部に、見ることができるように横に移動<ImageView>を押すと<Button>
まず第一に、ここで私のapp design.
です船)。ボタンは見えません。左ボタンにはidとして "control_izquierda"、右ボタンに "control_derecha"があります。
左ボタンを押すと宇宙船が右に移動し、右ボタンを押すと宇宙船が左に移動します(これは完全に機能します)。
私の問題ボタンの1つを押している間に宇宙船を動かすことです(ボタンを押したまま、宇宙船はに移動する必要があります)。私はこれを試す様々な方法を試しましたが、正しい解決策を見つけることができません。
は、ここに私のXMLは、 "actualizaPosicion" 方法で呼び出して、私のJavaコードボタンのいずれかをクリックする
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void actualizaPosicion(View v) {
switch (v.getId()) {
case R.id.control_derecha:
findViewById(R.id.nave).setX(findViewById(R.id.nave).getX() - 30);
break;
case R.id.control_izquierda:
findViewById(R.id.nave).setX(findViewById(R.id.nave).getX() + 30);
break;
}
}
}
です。このメソッドは、右または左のボタンがクリックされたかどうかを検出し、次に宇宙船の位置をアップロードします(idは "nave"です)。ボタンが押されているときに宇宙船が移動し、宇宙船は止まる。
私は助けていただきありがとうございます。
ありがとうございました!あなたが必要なもの
こんにちは、Nishant。私はこのソリューションがこの場合には役に立たないと思います。私が必要とするのはこれです:左のボタンを押したままにすると、宇宙船は右に移動しなければなりません。ボタンを押さなくても、船は止められます。私はアニメーションを使用することはできません、私は別の位置にImageViewを移動する必要があります。私が最初に左ボタンを押し続けて、宇宙船が30dp移動した後、右ボタンを押し続けて宇宙船を左に移動させたいのであれば、あなたは役に立たない。 –
ねえ、私はあなたの要件を理解しています。私はそれに応じて答えを更新しました。このゲームであなたの現在および将来の問題をすべて解決できることを確かめてください。 **あなただけのアニメーションではありません。それは完全な本格的なゲーム開発だから、答えのすべてのコード例を与えることはできません**。編集したリンクがあなたが探していたチュートリアルであることが分かったら、私の答えを受け入れてください。 –