スプライトを動かせるようにしよう


上の動画のようにスプライトを上下に動かせるようにしてみよう。

スプライトの設置についてはMakeCode Arcadeを使ってみようの内容を参考にしてください。


操作に関するコードを書く時は、



実行ボタンを押したときにスプライトは常に指定の位置(今回は中心)になるようなコードにしておくと便利ですので、スプライトを作成した直後にスプライトの位置を中心にするように指定しておきます。


中心座標の調べ方は、スプライトの位置を変更するブロックの x と y のどちらをクリックしても、



このようなウィジェットが表示されます。



このウィジェットによると、MakeCode Arcadeは X の範囲が 0 〜 160 で、Y の範囲が 0 〜 120 で有ることがわかります。

なので、中心の座標は X が 80 で、Y が 60 になります。




下ボタンを押した時にスプライトが下に移動するようにしてみます。



コントローラーから◯ボタンが◯◯時のブロックを選択します。



Aの個所のセレクトボックスを下に変更して、スプライトの y を 1 だけ変えるようにします。

この状態で動作を確認してみます。



一応、若干下に移動しますが、下ボタンの押しっぱなしには対応していません。

下ボタン押しっぱなしに対応するには、



押された時のセレクトボックスをくりかえし◯回に変更します。

変更後に動作を確認してみますと、



下ボタン押しっぱなしで、スプライトが下に移動し続けるようになりました。




次に上ボタンを押したら、スプライトが上に移動するようにしてみます。



下の時と同じように上ボタンをくりかえし◯回押した時のブロックを追加して、上ボタンが押された時に y を -1 の方向に移動するようにします。

ブロックの追加後に実行して試してみますと、



スプライトが上に移動するようにはなりましたが、スプライトのアニメーションは下向きのままです。

上を押したときにスプライトが上向きのアニメーションになるように



上ボタンがくりかえし◯回時ブロックにアニメーションの変更のブロックを挿入します。



合わせて、下ボタンの方も変更します。

この変更に合わせて、



最初だけブロックからアニメーションのブロックを除いておきます。

これらの変更の後に実行して動作を確認してみます。



移動中はアニメーションがなく、止まったところからアニメーションが始まるようになりました。

これはボタンが押されている間に何度もアニメーションが登録され、その都度実行を繰り返したから止まっているように見えたのでしょう。


方向を変えた時に一度だけアニメーションを変えるように先程の変更を



に戻して、




これらの上下の押された時のブロックを新たに追加して、これらのブロック内でアニメーションを変更するようにしました。


今回の変更後に実行してみましたところ、



アニメーションが解除されずに上下に移動するようになりました。




最後に左右の動きも追加しておきましょう。





京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
同じカテゴリーの記事
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。