見出し画像

【Scratch(スクラッチ)入門】#12敵を攻撃できる武器(アイテム)飛び道具を追加する

前回までのあらすじ

https://scratch.mit.edu/projects/387794351/embed


ジャンプが出来るようになりました!


攻撃用のスプライトを追加
もし手元に画像があれば追加します。

画像1

画像2

隠しておかないと、スプライトが画面に表示されたままになりますので、まずは隠します。

画像3


繰り返し処理


飛び道具のy座標が増えていく(空に向かって飛んでいく)ので、上限までを繰り返す処理を入れます。

画像4


変数追加


加速度用の変数を追加しておきます。

画像5

画像6

「y座標が(攻撃の移動量)ずつ変える」としてみます。

画像7


キャラクターの位置から発射させる

クローンされた時に「(主人公)の場所に行く」とします。これで主人公の位置から攻撃を発射させることができます。

画像8

画像9

向きによって攻撃位置を調整する


手元あたりから攻撃をしたいので、右向きの時はx座標を+10~20、左向きの時はx座標を-10~20あたりずらしてあげれば、手元あたりから発射させることができます。

画像10

画像11

攻撃を追加


もしスペースキーが押されたら、攻撃アイテムのスプライトのクローンを作ります。

画像12

画像13


当たり判定を追加


敵側に、攻撃が当たった時の動作を追加します。

画像14


もし攻撃アイテムに触れたなら

画像15


y座標<-180なら…ではダメ


画像16

攻撃アイテムのプログラムの中で、スプライトがy座標<-180になりきれないので、スプライトが上部で溜まっていってしまいます。

「y座標<-140」あたりに調整を。

画像17


攻撃回数を1回ずつにする


今のままだと、スペースキーを押したままの間、無限に攻撃が出続けて、最強すぎるプレイヤーになってしまいますので、発射の間隔を制限します。

画像18

画像19

画像20


主人公のスプライトで「スペースキーが押された時」に、タイマーの条件式を追加します。

画像21


一度スペースキーを押すと、攻撃時間が0.5秒進みますので、0.5秒以上経たないと、攻撃時間<タイマーにならないため、その間はスペースキーを押しても何も起きない(攻撃できない)ことになります。

もし攻撃できる間隔を短くしたい時は、+0.2などに調整してみると良いかと思います。

画像22


これで攻撃ができるようになりました!

画像23



もし攻撃が当たった時は、「徐々に小さくなって消える」といったスクリプトを入れておけば、より自然な動きになるかなと思います。

画像24


このままだと、敵がやられたらクローンが削除されて終わりですので、敵1体だけで終わりの謎のゲームになってしまいます。

画像25


次は、敵が次から次に降ってくるようなステージを作ってみたいと思います。

完成版はこちら

https://scratch.mit.edu/projects/387794351/embed

いいなと思ったら応援しよう!

eguweb
サポートお願い致します!