前回までのあらすじ
ジャンプが出来るようになりました!
攻撃用のスプライトを追加
もし手元に画像があれば追加します。
隠しておかないと、スプライトが画面に表示されたままになりますので、まずは隠します。
繰り返し処理
飛び道具のy座標が増えていく(空に向かって飛んでいく)ので、上限までを繰り返す処理を入れます。
[rml_read_more]
変数追加
加速度用の変数を追加しておきます。
「y座標が(攻撃の移動量)ずつ変える」としてみます。
キャラクターの位置から発射させる
クローンされた時に「(主人公)の場所に行く」とします。これで主人公の位置から攻撃を発射させることができます。
[rml_read_more]
向きによって攻撃位置を調整する
手元あたりから攻撃をしたいので、右向きの時はx座標を+10~20、左向きの時はx座標を-10~20あたりずらしてあげれば、手元あたりから発射させることができます。
攻撃を追加
もしスペースキーが押されたら、攻撃アイテムのスプライトのクローンを作ります。
当たり判定を追加
敵側に、攻撃が当たった時の動作を追加します。
もし攻撃アイテムに触れたなら
y座標<-180なら…ではダメ
攻撃アイテムのプログラムの中で、スプライトがy座標<-180になりきれないので、スプライトが上部で溜まっていってしまいます。
「y座標<-140」あたりに調整を。
攻撃回数を1回ずつにする
今のままだと、スペースキーを押したままの間、無限に攻撃が出続けて、最強すぎるプレイヤーになってしまいますので、発射の間隔を制限します。
主人公のスプライトで「スペースキーが押された時」に、タイマーの条件式を追加します。
一度スペースキーを押すと、攻撃時間が0.5秒進みますので、0.5秒以上経たないと、攻撃時間<タイマーにならないため、その間はスペースキーを押しても何も起きない(攻撃できない)ことになります。
もし攻撃できる間隔を短くしたい時は、+0.2などに調整してみると良いかと思います。
これで攻撃ができるようになりました!
もし攻撃が当たった時は、「徐々に小さくなって消える」といったスクリプトを入れておけば、より自然な動きになるかなと思います。
このままだと、敵がやられたらクローンが削除されて終わりですので、敵1体だけで終わりの謎のゲームになってしまいます。
次は、敵が次から次に降ってくるようなステージを作ってみたいと思います。