ゲームアプリ (Catch the Ball)

【Android Studio】 ゲームアプリ開発入門 第3回 「タッチイベントで画像を動かす」

 

 

ここまでの記事はこちら
 

前回はゲーム画面を作成をしたので、今回はタッチイベントで青いボックスを動かしてみます。
 
 


 

動画

動画では Android Studio 3.1.4 を使用していますが 3.6 / 4.0 / 4.1 でも動作確認済みです。

【Android Studio】ゲームアプリ開発入門 #3 タッチイベントで画像を動かす

 
 

解説

ゲーム開始の準備

MainActivity.java を開いて 12~20・27~42行目のコードを追加します。

 

12~17行目

activity_main.xml で作成した TextView や ImageView を MainActivity.java で使うための準備です。
 

同じ型の場合は、以下のようにまとめて書くこともできます。

private TextView scoreLabel, startLabel;
private ImageView box, orange, pink, black;

 
 

画像のようにTextViewの部分が赤くなり、青いメッセージが出るかもしれません。


 

これは「android.widget.TextView」をインポートしてくださいという警告です。(自動的にインポートされる場合がほとんどです。)
 

青いメッセージが出ている状態で altreturn を同時に押してください。
 

警告が消えましたか?

コードを見てみると、8行目あたりに import android.widget.TextView; が追加されていると思います。

今後同じような警告が出た場合は、同じように altreturn を押して警告を消してください。

メモ

altreturn を押さずに
import android.widget.TextView;を直接書くこともできます。

 
 

20行目

private float boxY;

boxY は青いボックスの Y 座標の数値です。

Y 座標の変更には setY(float y) メソッドを使うので float 型にしています。
 
 
 

27~32行目

前回 activity_main.xml を作成した時に TextView や ImageView に id を設定しました。


 

findViewById は「idからビューを見つける」という意味です。
 

これをすることで MainActivity.java から TextView に表示する文字を変えたり、ImageView の位置を変えることができるようになります。
 
 
 

34~39行目

ゲーム開始前なので、pink・orange・black は画面の外に移動させておきます。(ゲーム開始時に画面の右側から出てくるようにします。)


 

-80.0f という数値に意味はありません。

画像が完全に画面の外にでる数値ならば、-77.7f や -100.0f など何でも良いです。
 
 
 

41・42行目

startLabel.setVisibility(View.INVISIBLE);
boxY = 500.0f;

startLabel(タップしてスタート)は現時点では必要ないので非表示にしておきます。

boxY は仮の値です。だいだい画面真ん中辺りの 500.0f にしています。
 
 
 

タッチイベントを追加する

次に、画面をタップした時の処理を書いていきます。

画面をタップした時・指を離した時を判定するには onTouchEvent を使います。
 

onCreate メソッドの下に onTouchEvent と入力すると、入力候補が出てくるので選択してください。


 
 

onTouchEvent メソッドを追加したら、以下のようにコードを変更してください。

 

7行目

MotionEvent.ACTION_DOWN で画面をタップした場合の判定をすることができます。
 

8・10行目

画面をタップしたら boxY から 20 を引いて、box の位置を上に移動させます。
 
 
 

アプリの実行

ここでアプリを実行してみましょう。

画面を一度タップするごとに box が少しずつ(マイナス20)上に移動します。


 
 

同じように動かない場合は、一番下に貼ってあるサンプルコードをご確認ください。
 
 
 

次に行うこと

次回は青いボックスを上下に移動させてみましょう

第4回 「タイマーで画像を動かす」に進む

 

ここまでのコード

 
 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
あなたにオススメのプログラミング講座

この講座では Android Studio で簡単なアプリを開発しながら Java の基礎・Android 開発を学ぶことができます。

Android 開発に興味がある方、Java に一度挫折してしまったという方にオススメの講座です。

guest
0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx