スクラッチでマリオ風のアクションゲームを作ってみる(その10)
10.タップ操作に対応する
タブレット端末でスクラッチのプロジェクトを確認したら、ゲームを操作できないことに気が付きました!
キーボードないですよねー。
もっと早く気が付けばよかったな。
10-1:タップで操作するエリアを決める
コードを作る前に、画面のどこをタップすると操作できるのかを整理します。
まず、画面の真ん中から左をタップすると、「キャラクター」が左に移動します。
反対に、画面の右側をタップすると「キャラクター」が右に移動します。
そして、下の段の土管以外のエリアをタップすると「キャラクター」がジャンプします。
(左右の移動とジャンプが同時に行われます)
下の段の土管のエリアだけは、「キャラクター」がジャンプしません。
10-2:下の段の土管にタップの説明を描く
「土管」のスプライトを選択して「コスチューム」を開きます。
下の段の土管の上にタップできることがわかる説明を描きます。
文字を太くするときは「枠線」の太さを変えるとよいです。
ゲーム画面では↓のようになります。
10-3:キー入力操作を「入力」ブロックに移行する
「キャラクター」を選択して「コード」を開きます。
「ブロック定義」の「ブロックを作る」で、「入力」ブロックを作りましょう。
次に、変数を3つ作ります。
「右ボタン」、「左ボタン」、「ジャンプボタン」です。
新しく作った「入力」ブロックに、次のコードを追加しましょう。
「(左ボタン)を(OFF)にする」
「(右ボタン)を(OFF)にする」
「(ジャンプボタン)を(OFF)にする」
今まで通りのキー入力に合わせて、各ボタン変数をONにします。
「もし「(スペース)キーが押された」なら」
「(ジャンプボタン)を(ON)にする」
「もし「(右向き矢印)キーが押された」なら」
「(右ボタン)を(ON)にする」
「もし「(左向き矢印)キーが押された」なら」
「(左ボタン)を(ON)にする」
「ジャンプする」ブロックを見つけましょう。
「(スペース)キーが押された」の部分を、「(ジャンプボタン)=(ON)」に変えます。
※ ジャンプするキーを(上向き矢印)に変えている場合は、(上向き矢印)にしてください。
「左右に動かす」ブロックを見つけましょう。
「(右向き矢印)キーが押された」を「(右ボタン)=(ON)」に変えます。
「(左向き矢印)キーが押された」を「(左ボタン)=(ON)」に変えます
「(キャラ移動)を受け取ったとき」イベントブロックを見つけましょう。
「ずっと~」の中の一番上に「入力」ブロックを追加します。
実行してみましょう。
(いままで通りにキー操作で動けばOKです)
※まだタップ操作はできないよ
10-4:タップで操作できるようにする
「入力」ブロックに戻りましょう。
一番下に、「もし「マウスが押された」なら」ブロックをくっつけます。
「マウスが押された」ブロックは、「調べる」の中にあります。
追加した「もし「マウスが押された」なら」の中に、次のコードを追加します。
「もし「(0)<(マウスのx座標)」なら」
「(右ボタン)を(ON)にする」
「もし「(マウスのx座標)>(0)」なら」
「(左ボタン)を(ON)にする」
「ジャンプボタン」をONにするエリアを確認しましょう。
「ジャンプボタン」がONになるように、
「もし「マウスが押された」なら」の中に、次のコードを追加します。
「もし「「(-110)<(マウスのx座標)」または、「「(-170)<(マウスのx座標)」かつ「(マウスのx座標)<(170)」」なら」
「(ジャンプボタン)を(ON)にする」
「入力」ブロックは↓のようになります。
実行してみましょう。
(タップ操作を確認したいので、「全画面表示」にしてから実行します)
画面をタップ(クリック)して「キャラクター」を操作できたらOKです。
10-5:やってみよう
タップ操作だと操作が難しいので、「キャラクター」のジャンプ力をあげたいと思います。
「重力をかける」ブロックを見つけて、「(重力)を(30)ずつ変える」ブロックを、
「(重力)を(28)ずつ変える」に変更しましょう。
これで、ジャンプ力が上がったので上に登りやすくなりました。
そこで、今回(28)に変えた値をたとえば(20)に変えて実行したらどうなるでしょうか。
是非、やってみてね。
※ 値は(28)に戻しておきましょう
プロジェクトが作れなかった場合は、動きだけでも見てみてね。
他の作品記事もよければ読んでみてください。
「水色のパンダ団」が作ったスクラッチ作品の記事まとめ
スクラッチ作品の作り方や解説をした記事を整理しました。小学生などの初心者やゲームを作りたい中級、上級者などプログラミングのスキル別に作品をまとめています。
0 件のコメント:
コメントを投稿