scratch 大乱闘スマッシュブラザーズ風ゲーム パート4
名古屋市瑞穂区で子供を対象としたプログラミングサークルを開いているサハラです!
パート3の続きを書きます。
7.シールドを作ろう
今回は下記の機能を追加していきます。
キャラクターはキーを押下している間、シールドを張る。
キャラクターはキーを離すと、シールドを消す。
キャラクターはシールドを張っている間、ダメージを受けない。
シールドはキーを押下している間、少しずつ小さくなる。
小さくなったシールドは二度と大きくならない。
シールドはある一定以下の大きさになると壊れる。
シールドが壊れると、そのキャラクターは二度とシールドを貼れなくなる。
1.Wizardのシールドを作ろう
まずWizardの作りましょう。良い感じのスプライトがないので、自分で作ります。右下の画面から「描く」を選んで空のスプライトを追加して下さい。
楕円形のシールドを作りましょう。赤丸の〇ボタンを選択した状態で、楕円形のシールドを描いてください。
その後、色、鮮やかさ、明るさを調整して、好きな色のシールドを作成します。枠線を消したり、塗りつぶしのパターンをムラのあるものに変更すると、シールドっぽさが出てきます。
完成図です。
2.Wizardのシールドを張ろう
下記のコードを書いていきましょう。
・キャラクターはキーを押下している間、シールドを張る。
・キャラクターはキーを離すと、シールドを消す。
シールドのスプライトのコードに下記を書いてください。「Wizard」が移動してもシールドがついていくようにするため、「Wizrdへ行く」を忘れないように追加してください。
Wizardのコードに下記を追加してください。シールドがないとき、つまりWizardShieldのコスチューム名がOffのときだけダメージ判定をします。
3.Wizardのシールドを小さくしよう
下記のコードを書いていきましょう。
・シールドはキーを押下している間、少しずつ小さくなる。
・小さくなったシールドは二度と大きくならない。
・シールドはある一定以下の大きさになると壊れる。
・シールドが壊れると、そのキャラクターは二度とシールドを貼れなくなる。
下記の赤丸をWizardShieldのコードに追加してください。3キーを押されているときに1%ずつ大きさを小さくします。大きさが6%より下のときには必ずコスチュームをOff状態にして、シールドを表示しないようにしましょう。スプライトの大きさが5より小さくならなかったので、この処理を追加しました。
シールドが壊れる処理は特に必要ありません。大きさが6%になると、二度と大きくならないので壊れたことと同じ状態になります。
4.同様にBatterのシールドを作ろう
同様にBatterのシールドも作りましょう。ナイスなcatcherスプライトがあったので、シールドに採用します。
catcherはゲーム開始時に画面の奥の方で控えておき、キーが押されたときにBatterを助けに来るような動きをさせましょう。
catcherのコードは下記になります。大きさに応じてcatcherのコスチュームを変更するため、「大きさ/10を四捨五入を2で割った余り=1のとき」、というコードを書いています。大きさの10の位が奇数のときcatcher-c、偶数のときcatcher-dのコスチュームに変更します。
最後にcatcherが消える処理を追加しましょう。大きさが小さくなったときに、画面外にふっとんでいくようにします。ふっとんでいく処理はBatterやWizardがふっとんでいく処理と同様の処理を追加します。
大きさが5だとふっとんでいくのが見えないので、ふっとぶ大きさを15増やして21に上げました。それに伴い、大きさの初期値も15増やしましょう。
今のままだとゲーム開始時にこの状態になり、少し画面がうるさいです。はじめはcatcherは消した状態にしておきましょう。
最後にBatterのコードに下記を追加してください。シールドがないとき、つまりCatcherのコスチューム名がcatcher-aのときだけダメージ判定をします。
遊んでみよう
プロジェクトを下記に公開しています。
https://scratch.mit.edu/projects/277410593/
プログラミングサークルについて
CoderDojo瑞穂という団体名でプログラミングのボランティアサークルをやっています。scratch(スクラッチ)やプログラミングの体験ができる他、Viscuit、テキストプログラミングも体験ができます。非営利団体のため、特に参加料を徴収しておりません。
月2回開催しているので、良かったら遊びに来てください!! 申し込み等、詳細は下記からご確認ください。
Dojoの写真やニンジャのビスケット作品を上げてます。
インスタの写真+
https://www.facebook.com/CoderDojo%E7%91%9E%E7%A9%82-296874087614515/