前回の ちょびっと迷路を作ろう のつづきです。
先日、「共有しようとしたら公開されない」という相談を受けました。
調べてみると共有したはずの作品が自動的に削除されていました。
原因はテキスト表示の中に不適切な単語を含んでいたため、サーバー側のチェックに引っ掛かったようです。
みなさんもご注意ください。
タイルマップの当たり判定を使おう
まず、プレイヤーを用意します。
キャラの絵はこれを使いました。
プレイヤーを操作できるようにします。
テストしましょう。
プレイヤーを動かすと、壁の絵に関係なくどこでも移動できます。
壁には移動できないようにしたいですね。
壁に当たり判定を入れます。
タイルマップエディタを開きましょう。
下図をみて、ブロックのようなアイコン (Draw Walls) をクリックしましょう。
そして、ツールのペイント(ペンのアイコン)を選択した状態で、壁の部分をクリックしていきます。
赤くて薄いシートを貼ったような感じになります。
間違えた部分はツールの消しゴムを選択して消しましょう。
テストしましょう。
プレイヤーが壁の部分へ移動できなくなりました。
なお、タイルマップの当たり判定(赤くて薄いシート)は表示されません。
プレイヤーの初期位置を決めよう
これまでプレイヤーの初期位置は、画面座標を直接指定していました。
タイルマップを使うとき、この方法は都合が悪いです。
想像してください。ステージが100あるゲームを作るとします。当然、各ステージのマップ構成は変わります。
そのためプレイヤーの初期位置も100通り必要になります。
これを解決するには、マップ情報をもとに初期位置を決める方法を使います。
シーン から mySpriteをランダムに の上に配置 をドラッグします。
下図を参考に箱のような絵を選択します。
テストしましょう。
実行後、プレイヤーは箱のような絵の上に表示されます。
このようにマップの絵を利用すれば、初期位置を直接指定しなくてもよくなります。
それから、初期位置用に用意した箱の絵が気になる場合は、配置後に消すことも可能です。
消す方法は、この後の説明で行います。
背景色を変更しよう
画面をよく見ると、青い玉の後ろが黒く見えます。
これは背景色(背景の絵)の上にタイルマップの絵が表示されているからです。
背景色を変えて違和感を抑えます。
シーン から 背景色を○に設定 をドラッグします。
背景色を紫にしましょう。
背景色が壁の色に近づき違和感が少なくなりました。
ゴール判定を入れよう
プレイヤーが階段の絵まで来たらゲームクリアにします。
これにはタイルマップの情報とスプライトの当たり判定を使います。
シーン から黄色い四角で囲んだブロックをドラッグします。
当たり判定をしたいタイルを選びます。
これでスプライト player タイプと階段の絵のタイルの当たり判定が行えます。
ゲーム から game over 勝ち をドラッグします。
当たり判定の中に入れます。
これでプレイヤーが階段についたらゲームクリアの演出が始まります。
次回、完結編に続きます。