(いい)プログラマーになろう!

かっこいいプログラマーになろう!

scratch 大乱闘スマッシュブラザーズ風ゲーム パート4

名古屋市瑞穂区で子供を対象としたプログラミングサークルを開いているサハラです!

パート3の続きを書きます。

 

f:id:yeah_boboi:20190106141549p:plain

7.シールドを作ろう

今回は下記の機能を追加していきます。

キャラクターはキーを押下している間、シールドを張る。

キャラクターはキーを離すと、シールドを消す。

キャラクターはシールドを張っている間、ダメージを受けない。

 

シールドはキーを押下している間、少しずつ小さくなる。

小さくなったシールドは二度と大きくならない。

 

シールドはある一定以下の大きさになると壊れる。

シールドが壊れると、そのキャラクターは二度とシールドを貼れなくなる。

 

1.Wizardのシールドを作ろう

まずWizardの作りましょう。良い感じのスプライトがないので、自分で作ります。右下の画面から「描く」を選んで空のスプライトを追加して下さい。

f:id:yeah_boboi:20190106121639j:plain

楕円形のシールドを作りましょう。赤丸の〇ボタンを選択した状態で、楕円形のシールドを描いてください。

f:id:yeah_boboi:20190106122334j:plain

その後、色、鮮やかさ、明るさを調整して、好きな色のシールドを作成します。枠線を消したり、塗りつぶしのパターンをムラのあるものに変更すると、シールドっぽさが出てきます。

f:id:yeah_boboi:20190106122244j:plain

完成図です。

f:id:yeah_boboi:20190106122550p:plain

 

2.Wizardのシールドを張ろう

下記のコードを書いていきましょう。

・キャラクターはキーを押下している間、シールドを張る。

・キャラクターはキーを離すと、シールドを消す。

 

シールドのスプライトのコードに下記を書いてください。「Wizard」が移動してもシールドがついていくようにするため、「Wizrdへ行く」を忘れないように追加してください。

 

f:id:yeah_boboi:20190106125038p:plain
Wizardのコードに下記を追加してください。シールドがないとき、つまりWizardShieldのコスチューム名がOffのときだけダメージ判定をします。

f:id:yeah_boboi:20190106130039j:plain


3.Wizardのシールドを小さくしよう

下記のコードを書いていきましょう。

・シールドはキーを押下している間、少しずつ小さくなる。

・小さくなったシールドは二度と大きくならない。

・シールドはある一定以下の大きさになると壊れる。

・シールドが壊れると、そのキャラクターは二度とシールドを貼れなくなる。

 

下記の赤丸をWizardShieldのコードに追加してください。3キーを押されているときに1%ずつ大きさを小さくします。大きさが6%より下のときには必ずコスチュームをOff状態にして、シールドを表示しないようにしましょう。スプライトの大きさが5より小さくならなかったので、この処理を追加しました。

f:id:yeah_boboi:20190106131318j:plain


シールドが壊れる処理は特に必要ありません。大きさが6%になると、二度と大きくならないので壊れたことと同じ状態になります。

 

4.同様にBatterのシールドを作ろう

同様にBatterのシールドも作りましょう。ナイスなcatcherスプライトがあったので、シールドに採用します。

f:id:yeah_boboi:20190106133302p:plain

catcherはゲーム開始時に画面の奥の方で控えておき、キーが押されたときにBatterを助けに来るような動きをさせましょう。

catcherのコードは下記になります。大きさに応じてcatcherのコスチュームを変更するため、「大きさ/10を四捨五入を2で割った余り=1のとき」、というコードを書いています。大きさの10の位が奇数のときcatcher-c、偶数のときcatcher-dのコスチュームに変更します。

f:id:yeah_boboi:20190106135934p:plain

最後にcatcherが消える処理を追加しましょう。大きさが小さくなったときに、画面外にふっとんでいくようにします。ふっとんでいく処理はBatterやWizardがふっとんでいく処理と同様の処理を追加します。

大きさが5だとふっとんでいくのが見えないので、ふっとぶ大きさを15増やして21に上げました。それに伴い、大きさの初期値も15増やしましょう。

f:id:yeah_boboi:20190106142827j:plain

 

今のままだとゲーム開始時にこの状態になり、少し画面がうるさいです。はじめはcatcherは消した状態にしておきましょう。

f:id:yeah_boboi:20190106141640p:plain

f:id:yeah_boboi:20190106141826j:plain

 

最後にBatterのコードに下記を追加してください。シールドがないとき、つまりCatcherのコスチューム名がcatcher-aのときだけダメージ判定をします。

f:id:yeah_boboi:20190106143043j:plain

 

遊んでみよう

プロジェクトを下記に公開しています。 

https://scratch.mit.edu/projects/277410593/

 

プログラミングサークルについて

CoderDojo瑞穂という団体名でプログラミングのボランティアサークルをやっています。scratch(スクラッチ)やプログラミングの体験ができる他、Viscuit、テキストプログラミングも体験ができます。非営利団体のため、特に参加料を徴収しておりません。

f:id:yeah_boboi:20181229191312p:plain

f:id:yeah_boboi:20181229191334p:plain




月2回開催しているので、良かったら遊びに来てください!! 申し込み等、詳細は下記からご確認ください。

 

coderdojo-mizuho.connpass.com

 

instagram

Dojoの写真やニンジャのビスケット作品を上げてます。

www.instagram.com

 

facebook

インスタの写真+ニンジャのスクラッチ作品やネットで見つけたスクラッチ作品の紹介やってます。

www.facebook.com

https://www.facebook.com/CoderDojo%E7%91%9E%E7%A9%82-296874087614515/