top of page
検索
ハッピーエンド過激派

基本システム以外の作り方

更新日:2021年8月28日

知恵袋のURL制限に引っかかったのでこちらで回答いたします。


いわゆる基本システム以外の作品は全てピクチャとイベントの組み合わせと考えていいと思います。

例えばSTGだとおおまかに自機・弾・敵機の3種類のピクチャを組み合わせます。

その上で以下のようなイベントを作ります。

①特定のキーを入力すると弾を発射するイベント

②敵機に弾が当たると敵機を破壊するイベント

③敵機が出現/移動/攻撃するイベント

④敵機の弾が接触すると自機のHPが減り、HPが0以下になるとGAME OVERになるイベント

これだけでSTGの完成です。


上記のピクチャ表示とイベントは全てコモンイベントで作成します。

コモンイベント>イベントコマンド入力...でイベントの作成を行います。

以下簡単な説明と参考にするURLを貼っていきます。

なお、基本システムのイベントは全て削除する必要があります。


 


■ピクチャ表示

ピクチャというイベントコマンドがあります。

ピクチャは①ピクチャ番号と②座標の管理さえできれば使えます。

任意の番号をピクチャ番号に入れ、座標を画面の真ん中(サイズ640×480ならX320,Y240)に設定します。

ゲームフォルダ内のData>Pictureフォルダに表示したい画像を入れ、ピクチャに設定します。

(位置は左上だとピクチャの左上が320,240にきます)


なお、全てのイベントは起動条件を設定しなければ動きません。

起動条件は以下をご参照ください。基本的には並列実行(常時)にする必要があります。



■特定のキーを入力すると弾を発射するイベント

キー入力というイベントコマンドがあります。

例えば決定キーを押すと10、Zキーを押すと144が指定した変数に格納されます。

変数はプログラミングの基本で、Unityであれ何であれ理解する必要があります。

ウディタだとシステムDBの14番で管理される通常変数か、コモンイベント内で使用できるコモンセルフ変数があります。

キー入力のイベントの作り方は以下をご参照ください。


変数については以下をご参照ください。変数呼び出し値もご案内しておきます。


キー入力→押されたらループ処理→キー入力で"0"が格納されたらイベント開始、

という処理が一般的だと思います(キーが押され、離れたら実行)。

ループイベントは以下をご参照ください。

なおループ内にはウェイト1フレームを入れる必要があります。

処理が1フレーム(1秒間に60フレーム)に一定の数を超えるとエラーになるため、

ウェイトを入れることでフレームあたりの処理数を減らします。


また、「格納されたら」は条件分岐のイベントなので、以下をご参照ください。

ループも条件分岐もプログラミングの基本なので、こちらも理解する必要があります。


発射イベントは、①弾を自機の上に表示する②弾を移動させるイベントからできています。

①は、自機のピクチャのY座標から-30くらい上に弾のピクチャを表示させます。

(ウディタは上と左が負、下と右が正になります)

ここで、ピクチャ番号はピクチャごとに変える必要がある点に注意してください。

②は、弾の座標を管理し、弾の座標=弾の座標-1というイベントをループさせます。

弾のように同じ性質のものを複数管理する場合は可変DBで管理すると便利です。

可変DBの使い方は以下をご参照ください。


■敵機に弾が当たると敵機が破壊されるイベント

当たり判定のイベントはやや複雑です。

敵機と弾の距離を毎フレーム計算します。距離は敵機の座標-弾の座標になります。

ここで、弾の半径+敵機の半径が距離以下なら、それぞれを中心とした円が接触しているので、

当たったと判定されます。距離は負にもなるため2乗して比較します。以下の記事をご参照ください。


破壊はピクチャの消去で表現します。サウンドでSE、エフェクトで爆発を表現するとより良いです。


■敵機が出現/移動/攻撃するイベント

出現は、例えばゲーム開始からの秒数などで管理します。

秒数は変数操作のsys29から取得できます。

移動は弾の移動と同じですが、複雑な動きにしたければ専用のイベントでアルゴリズムを組みます。

例えば、ある座標に到着するまでは右に進み、到着したら左に進む、などです。

敵機の攻撃は自機の弾の発射と類似のイベントをアルゴリズムに組み込みます。


■敵機の弾が接触すると自機のHPが減り、HPが0以下になるとGAME OVERになるイベント

前述した当たり判定を自機と敵機の弾に対して行い、当たったら自機のHPを管理する変数を減らします。

HPが0以下になるとGAME OVER画面が表示されるイベントを作ります。


 

以上で簡素なSTGが作れます。

プログラミングの基本を組み合わせてウディタのイベントで表現するイメージです。

ここはUnityも同じだと思いますので、ゲ製をする以上はプログラミングの基本は習得した方がいいです。

ウディタも色々な解説記事があるので詰まったらググってみてください。


3Dダンジョンは以下の配布コモンのご利用をご検討ください。

何かあれば知恵袋でもこちらのブログにでも再質問ください。よろしくお願いいたします。

閲覧数:194回0件のコメント

最新記事

すべて表示

Commenti


bottom of page