宮下、初めてのゲームプログラミング〜ALIEN SHOOTINGを改変してみる〜
宮下です。今回はジャンルを少し変えて、プログラミングのnoteを書いてみようと思います!タイトルで察することもできるかもしれませんが、使用するのは任天堂から発売されているナビ付き!はじめてのゲームプログラミングです!!
プログラミングにかなり詳しいわけではないので、たまにガバガバなところもあるかもしれませんがご了承ください!
1.初めに
今回行うのは、ALIEN SHOOTINGの改変です。ALIEN SHOOTINGは、ナビ付きレッスンのレッスン3で作ります!
UFOを操作し、敵を倒したり、障害物を避けながらゴールを目指す簡単なシューティングゲームです^^
このゲームをもう少し難しく(?)していこうと思います!
2.改変1〜UFOが壊れてしまう障害物をプラス〜
レッスンで作ったゲームの中では、障害物はほぼ触っても何も起こらないですよね。それだけで難易度がぐっと下がってしまうため、一部の壁はUFOを壊してしまうものにしてしまいましょう!!
やり方は至って簡単です!
UFOを壊す壁を選択し、壊す対象からUFOを追加しましょう!
3.改変2〜フィーバーゾーン的なものを作る〜
以下のツイートの動画は改変後のゲームです。
改変前のものはラストに大きい敵が配置されていますが、一発で倒れてしまうので、どこか爽快感が足りないように感じませんか?
そんなあなたに!!!最後は敵を打ちまくって爽快感を感じましょう🔫
そのために敵を上限まで配置し、弾の速度と発射感覚も変えましょう!!!
それに伴って以下のように変えようと思います!
通常の弾→速度 5.0 発射感覚 0.2
フィーバーゾーン内の弾→速度 10.0 発射感覚 0.1
以下は弾の速度を途中で変えるプログラムを作っていきます。
まず、どうなってフィーバーゾーンに入った!と判定すれば良いか考えましょう。
ゴールの判定で使ったあれです!
わかりましたか?あれです、触っているセンサーノードンくんです!
フィーバーゾーンにしたいところをこのノードンで囲って仕舞えば新たな判定をつけることができます!!
1つ解決しました、順調です!では次に、フィーバーゾーンの中のみ早く弾を打つためにどうするか考えましょう☺️
どんな時に弾を早く打ちたいかで決定します。
前提条件としてまず、弾を打つためにはボタンを押さなきゃいけないです。今回は元々Bに割り振られていたので、それは同じにしましょう!
そしてもう一つの条件は、フィーバーゾーンに入っていることです。
以上のことから、
条件1.Bボタンが押されている
条件2.さわっているセンサーの枠内にUFOがいる
のAND条件でできそうですね!!
これで解決…でもいいのですが、実際にゾーン内に入って打つと弾がぶつかり合って弾が壊れた………なぜ……
それは、通常のたまに条件をつけていなかったため、ゾーン内では通常のたまとフィーバーゾーンの弾がどちらも出てしまったからです!
なので通常のたまもさっきと同じように条件をつけましょう!!
まず、条件1のBボタンが押されているは先ほどと同じですね。
ですがさわっているセンサーの外にいなければならないので、条件2は同じではダメですね!
条件2は、さわっているセンサーの枠内にUFOがいないという条件で達成できそうです!!
逆のことをいうノードンがありましたね、NOTノードンです!!
つまり通常の弾の条件は
条件1.Bボタンが押されている
条件2.さわっているセンサーの枠内にUFOがいない(NOT)
のAND条件となります!
以下のようなプログラムとなります。
おめでとうございます!これで第二の改変は完成です!!
4.改変3〜タッチで壊れる壁〜
最後の改変です!せっかくタッチパネルがあるので、それも生かしちゃいましょう!笑
タッチしたときというノードンがあるので、それを召喚しましょう。さらに、タッチしたい時に壊したいので、ものをこわすノードンも召喚し、ノードン同志を繋げましょう!設定画面を開き、何を壊す?で、壊したいものを設定してください!私の場合は直方体でした!
最後に、今のままだと壊したい形が全て壊れてしまうので…笑特定のものだけ壊れるように青い連結ポートで繋いでください!!
以上で完成です!!お疲れ様でした!!!
この記事が気に入ったらサポートをしてみませんか?