初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Corona SDK 入門

8.初歩4 タップ受付とテキスト表示

 

初歩3 変数と画面表示のしくみ 」のつづきです。

 

Corona SDK を起動し alienTap プロジェクトを実行している状態です。
テキストエディタでは main.lua ファイルを開いて編集中です。

 

タップを受け付ける

エイリアンをタップすると跳ね上がるようにします。
27 行目以降を入力してください。

 

エイリアンをタップして跳ね上げる

 

 

4行ほどのプログラムですが、いろいろなことをしています。
まず、tapAlien という名前の関数(かんすう)を宣言しています。
そして、addEventListener を使ってエイリアンがタップされたとき
その関数を呼び出すようにしています。
ちなみに「 呼び出す 」とは実行するという意味です。

 

イベントで関数を呼び出す

 

 

関数の中では、
applyLinearImpulse を使ってエイリアンのx軸とy軸に対して力を加えています。
x軸には0、y軸には -0.75 の力を加えてます。
y軸でマイナスだと上に向かっての力になります。

 

一瞬だけ力を加える

 

なお applyLinearImpulse は物理演算機能の1つなので、エイリアンが物理演算の
対象オブジェクトでなければ使えません。

 

関数についてですが、簡単に言ってしまうと処理をまとめて実行するための仕組みです。
処理をまとめられるってすごい便利ですよ。

 

 

タップをカウントしよう

タップした回数をカウントしてみましょう。
カウントするための変数 tapCount を 7 行目に追加します。
変数の宣言をプログラムの先頭に書いておけば、どんな変数を作ったのか
すぐに分かるのでオススメです。

 

タップの回数をカウントする

 

関数 tapAlien の中に2行追加しました。

tapCount = tapCount +1

これで1ずつカウントできます。
tapCount の中の数値に1を足して、tapCount に代入します。

 

print ( tapCount )

これは変数 tapCount の内容をコンソールへ出力します。
下図を見てください。タップするごとにカウントアップしていきます。

 

print 命令で変数の中身を確認する

 

 

タップ回数を表示しよう

コンソールではなく、画面にタップ回数を表示してみましょう。
これはテキスト表示になるので、今までとは少し違います。
30、31 行目を追加してください。
37 行目は print 命令を消して、新しいプログラムを追加します。

 

タップ回数をテキスト表示する

 

 

プロジェクトを再起動してエイリアンをタップすると、左上の数値がカウントアップ
していきます。

 

タップ回数を表示する

 

 

テキスト表示の方法です。
パラメータが多くむずかしそうですが、よく見ると簡単です。
初めに表示したいテキストの内容、つぎに表示座標xとy。
そして、フォントタイプとサイズです。
31 行目ではフォントの色を指定しています。

 

テキスト表示

 

これだけでは表示の内容は変わりません。
カウントアップした内容を、tapText.text の中に代入する必要があります。

 

カウントアップさせる仕組み

 

tapText は 30 行目で作ったテキストオブジェクトです。
オブジェクトとは、『 物 』とか『 対象 』という意味です。
どちらかと言えば物というイメージが強いですね。
その物ですが、プロパティを持っている場合が多いです。
プロパティとは『 特性 』とか『 属性 』という意味で、内容を変化させることで
オブジェクトを利用していきます。
今回なら text プロパティを変更することで、画面上に表示する内容を変える訳です。

 

 

もっとプログラミングを楽しもう

これまでのプログラムはつぎの通りです。

 

エイリアンをタップするだけのプログラム

 

これで「 初歩のプログラミング Corona 編 」は終わります。
ゲームと言えるものではありませんでしたが、画像表示、タップ入力、物理演算、
テキスト表示と基礎的なことはやってきました。

「 まだよく分からないよ 」

という人は安心してください。
この内容で理解できたら天才です。
これからもゲームの作り方を説明していきますから、ゆっくりと理解していけばいいのです。

 

 

できるプログラマーになりたい人は、いろいろと試してみましょう。
説明の中でも、ある行をコメントにして実行結果を確認していました。
そうすることでプログラムの動きが理解しやすくなります。

また、別のもので代用したらどうなるのか、などの変更も勉強になります。
例えば、背景でタップを受け付けたらどうなるか? みたいにです。
変更するときには、もとの行をコメントにしてあとで戻せるようにしておきます。
背景オブジェクトは background でしたね。

 

背景でタップを受け付ける

 

実行してみると画面のどこをタッチしてもエイリアンは飛び上がります。
簡単に画面から飛び出てしまうほどですね。
まぁ、こんな感じでいろいろとやってみましょう。