75才からのモバイルアプリ作成

MIT App Inventor 2 を使ったアプリ作成

MIT App Inventor 2で遊ぶ (Space Travel 2)

2024-09-07 07:14:18 | 日記

小型の隕石を追加。大型、小型隕石ともに回転しながら迫ってくるように設定。粉砕した隕石の個数を表示。画面に表示されていないが制限時間(30秒)を設定。

制限時間に達するか、隕石に衝突したら「Game Over」。

アプリ実行のビデオ:

スクリーンのデザイン:

左上端の数字 0 は、粉砕した隕石の数を表示するもの。

                             

ブロック・コード:

追加した部分のみ。

小型隕石の追加:大型隕石と同様に設定したが、起点をずらし、また下に移動するスピードは若干遅くした。画像は同じものを使用し、サイズのみ変更。

1. 経過時間と制限時間を格納する変数timePassedとtimeLimitを設定。

「Start」ボタンをタップするとcountingTimeClockが動き出す。timeLimitまで来ると関数gameIsOverが実行される。

関数gameIsOverは、ClockおよびaccelerometerSensorを無効にする。

2. 粉砕した隕石の個数を格納する変数hitCountを設定

Canvasの上には、imageSpriteとBall(sprite)しか配置できない。要するに画像のみ。隕石を粉砕した回数も画像で作成し、30回までの画像をリスト形式で変数scoreImagesListに格納。粉砕回数=同リストのindex値、で画像を指定して左上端のimageSpriteに表示。

(なお、scoreImagesListとあるが、当初、粉砕回数をscoreとしていた名残り)

Ballは、宇宙船より発射する弾丸で、隕石に当たれば、hitCountが1ずつ増加していく。

1Trans.png, 2Trans.png, 3Trans.png, 4Trans.png, 5Transpng. . . . の画像は以下の通り。

                      ・・・・・・・

3. 大型(meteorite1)小型(meorite2)を回転させるブロック:

以下4つの画像を順番に表示し回転しているように見せている。変数animationFrames1またはanimationFrames2に、反復して1〜4の数字が割り当てられ、各画像ファイル名の中にある数字となり、画像が順番に表示される。

       meteo1.png                   meteo2.png                    meteo3.png                   meteo4.png

                             

4. 「Start」をタップすると、変数の初期化、ならびに無効になっていた背景を動かすmovaBGClock、隕石を動かすmeteorite1Clock/meteorite2Clock、宇宙船を左右に動かすAccelerometerSensor1、隕石を回転させるmeteorite1RotationClock/meteorite2RotationClock、時間を刻むcountingClockをそれぞれ有効にし、作動させる。

5. 「Game Over」ボタンをタップした時の動作:

隕石を粉砕した回数を格納する変数hitCountを0に初期化。その回数を表示するscoresImageSpriteに「0Trans.png」を割り当てて、0を表示させる。

 

                                                 *******************************************************

前回までのブログ:

MIT App Inventor 2で遊ぶ (Space Travel 1)

 

 



コメントを投稿