BallとImageSpriteでアクションゲームに挑戦!! (6/6)
作成:2013-07-17 08:43
更新:2013-07-17 08:43
更新:2013-07-17 08:43
■スプライトをタッチ操作で動かす
これで終わりではありません。肝心の「パドルの操作」があります。ここでは、スクリーン(正確には、スクリーンに配置されたCanvas)の上をタッチしたりドラッグしたりすると、それに応じてパドルが左右に動くようにします。
・Canvas1.Dragged
Canvas上をドラッグ(指を滑らせる)させた時のイベントです。これは非常に多くの引数が渡されます。
startX, startY――ドラッグ開始の位置
prevX, prevY――現在の直前の位置
currentX, currentY――現在の位置
draggedSprite――スプライトをドラッグしている場合には、ドラッグ中のスプライトオブジェクトが渡されます。
ここでは、ImageSprite1のxの値を設定しています。先ほど、Initializeではうまくいかなかったと述べました。ここで画面をドラッグしたらパドルの位置を調整するようにしておいたのです。
・Canvas1.TouchDown
Canvasをタッチした瞬間のイベントです。このイベントでは、タッチした位置を示す値が引数として渡されます。
ここでは、ImageSprite1の位置(縦横)を設定してあります。横位置(x)は既にやりましたね。縦位置(y)は、単純にScreen1.Height - Label1.Heightの値を設定してあります。これでパドルが同じ位置で左右にドラッグして動くようになりました。
――さあ、これでひと通りのブロックは作成しました。プロジェクトを動かしてみましょう。起動するとすぐにボールがゆっくりと動き始めます。下に落ちてきたら画面をドラッグしてパドルを動かし、打ち返します。打ち返すごとに得点は増え、スピードアップしていきます。打ち返せずに画面の下まで来たらゲームオーバーです。
とりあえず、これでスプライトの基本的な使い方はわかったことでしょう。それぞれでPONGをアレンジして、もう少し本格的なゲームに挑戦してみてください。
・Canvas1.Dragged
Canvas上をドラッグ(指を滑らせる)させた時のイベントです。これは非常に多くの引数が渡されます。
startX, startY――ドラッグ開始の位置
prevX, prevY――現在の直前の位置
currentX, currentY――現在の位置
draggedSprite――スプライトをドラッグしている場合には、ドラッグ中のスプライトオブジェクトが渡されます。
ここでは、ImageSprite1のxの値を設定しています。先ほど、Initializeではうまくいかなかったと述べました。ここで画面をドラッグしたらパドルの位置を調整するようにしておいたのです。
・Canvas1.TouchDown
Canvasをタッチした瞬間のイベントです。このイベントでは、タッチした位置を示す値が引数として渡されます。
ここでは、ImageSprite1の位置(縦横)を設定してあります。横位置(x)は既にやりましたね。縦位置(y)は、単純にScreen1.Height - Label1.Heightの値を設定してあります。これでパドルが同じ位置で左右にドラッグして動くようになりました。
――さあ、これでひと通りのブロックは作成しました。プロジェクトを動かしてみましょう。起動するとすぐにボールがゆっくりと動き始めます。下に落ちてきたら画面をドラッグしてパドルを動かし、打ち返します。打ち返すごとに得点は増え、スピードアップしていきます。打ち返せずに画面の下まで来たらゲームオーバーです。
とりあえず、これでスプライトの基本的な使い方はわかったことでしょう。それぞれでPONGをアレンジして、もう少し本格的なゲームに挑戦してみてください。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※下図は、画面タッチのイベント処理と実行中の画面。
※関連コンテンツ
「App InventorによるAndroid開発入門」に戻る