作って学べる
プログラミング講座
アプリを作りながら学習
自分のペースですぐに始められる
困ったら何回でも質問可能
ゲームアプリ (Catch the Ball)

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

Sara

2023年11月 Android Studio Giraffe | 2022.3.1 で動作確認済み。

ここまでの記事はこちら

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

解説

1. ゲーム開始の準備

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」をインポートしてくださいという警告です。

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

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

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

あわせて読みたい
【Android Studio】自動 import を有効にする方法
【Android Studio】自動 import を有効にする方法

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 にしています。

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

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

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

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

onTouchEvent メソッドを追加したら、以下のようにコードを変更します。

7行目

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

8・10行目

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

3. アプリの実行

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

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

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

次に行うこと

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

ここまでのコード

Q
MainActivity.java
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィールはこちら
>> 書籍を出版しました!
>> お問い合わせはこちら
本格的に学びたい方へ

Code for Fun プログラミング講座

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなど「アプリとして機能するもの」を作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

分からないことがあっても、前のレッスンに戻ることができるので安心です。

お申し込みしたその日からからすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました