メイクコード アーケード を使ったゲーム作り第四弾です。
過去に行ったことは説明を短くしていきます。
手順が分からないときは前のページを再読しましょう。
これから作るゲーム
これまでと違い横向きの画面です。
それでも基本的な仕組みは似たようなものです。
ちょっとした応用で見た目の違うゲームになって面白いですね。
左から出てくる赤い車を避けるだけのゲームです。
プレイヤーは緑の車を上下に操作します。
残機制のゲームです。
赤い車に3回当たるとゲームオーバーです。
スコアは赤い車が出るたびに +1 されます。
新しくプロジェクトを作成しよう
新しくプロジェクトを作成します。
プロジェクトの名前を入力して 作成 ボタンをクリックします。
背景に絵を入れます。
シーン の中の 背景画像を○に設定 をドラッグします。
最初だけ の中に配置します。
次に絵を選びます。
ギャラリーから道路の絵を選びます。
この背景画像をあとで動かします。
プレイヤーを表示しよう
プレイヤーを表示しましょう。
スプライト の中の黄色で指定したブロックをドラッグします。
最初だけ の中に配置します。
絵を選びます。
ギャラリーから緑の車の絵を選びます。
同じような絵が4枚ありますが、これはアニメーション用です。
今回はどれを選んでもかまいません。
プライヤーを動かそう
プレイヤーキャラを操作できるようにします。
コントローラー の中の mySpriteをボタンで動かす をドラッグします。
最初だけ の中に配置します。
プレイヤーの移動を上下のみにしたいと思います。
下図のところをクリックします。
速度 vx 0 vy 100 に変更します。
vx は横移動の大きさを指定し、vy は縦の移動を指定します。
vx を 0 にすると、横の移動ができなくなります。
プレイヤーの初期位置を変更します。
スプライト の中の mySprite の位置を x0 y0 にする をドラッグします。
最初だけ の中に配置します。
位置を x 141 y 60 に変更します。
画面外へ飛び出さないようにします。
スプライト の中の set mySprite stay in screen をドラッグします。
最初だけ の中に配置します。
上図の変数名を見てください。
プレイヤーである緑の車は、変数 mySprite で管理しています。
変数に対して、絵の情報、速度、座標、画面内制限などを結び付けています。
背景とリンクさせよう
プレイヤーの車を操作してみてください。
上下にしか動きません。
画面外へ出ることもないです。
しかし、よく見ると背景の道路から飛び出ています。
緑の車を監視して、道路から出ないようにします。
ゲーム の中の ゲームが更新されたとき をドラッグします。
ゲーム画面は1秒間に何度も書き換えが行われています。
そのたびに処理したいことがあれば ゲームが更新されたとき を使います。
どこにも連結させないで配置します。
論理 の中の もし 真 なら をドラッグします。
ゲームが更新されたとき の中に入れます。
もう一度、論理 の中から下図のブロックをドラッグします。
小なりの記号のブロックを使いますが、=(イコール) のブロックを選んでも小なりに変更できます。
真 の部分に配置します。
スプライト の中の mySprite の x をドラッグします。
左の 0 の所に配置します。
下図を見ながら X から Y へ、0 から 30 へ変更します。
スプライト の中の mySprite の x を 0 にする をドラッグします。
もし 〜 なら の中に入れます。
下図を見ながら Y と 30 に変更します。
これでもし mySprite の Y 座標が 30 より小さければ、Y 座標を 30 にするという命令ができました。
シミュレーターで操作してみてください。背景の道路より上には行かなくなりました。
例えば 30 を 100 に変えて実行してみてください。
制限の範囲がどのように変わるか確認してみましょう。
確認後、30 に戻してください。
今回はじめて条件分岐を使いました。
これまでの中で一番プログラミングらしい処理だと思います。
条件分岐は奥が深いです。これからゆっくりと説明していきたいと思います。
次回に続きます。