投稿記事

説明の記事 (23)

Master.typeX 2021/05/18 21:23

CF2.5講座第10回:簡単なシューティングゲームを組んでみよう!(前編)

どうも、Master.typeXです。
今回は久しぶりにCF2.5講座です。

今回は一気にステップアップして
単純なシューティングゲームを
組んでみよう!

・・・と、言ってみたものの
処理が全然初心者向けじゃねぇ・・・

今回の講座プログラム(要CF2.5本体)

CF25_kouza_v1000.zip (149.88kB)

ダウンロード

今回の完成動作

ゲームオーバーは入れてませんと言うか
完全に入れ忘れてます。スマソ。

と、とりあえず一つ一つ解説。

プレイヤーの生成

プレイヤー生成イベントは
「初回」「復活」「プレイヤー生成イベント」の
3つのグループで構成されています。

「初回」は文字通りフレームが開始された時。
ここで「プレイヤー生成」という高速ループを
3回回しております。

なぜ3回なのかと言うと
以前の講座で一度にいっぺんに
オブジェクトを生成すると
固定値取得がうまく行かなかったりするのと
それによる同期がうまく取れなくなるのを防ぐため。
そして、わかりやすくするためである。
ぶっちゃけループは1回でもよかったりするが
3回分回したほうがわかりやすいと思ったので。

で、プレイヤーは
「当たり判定」「アイテム判定」「自機外側」
これら3つのパーツで構成されてます。

で、当たり判定がやけに小さいが
シューティングゲームの自機当たり判定は
めちゃくちゃ小さいのが当たり前
・・・と
誰かが言っていた気がするのでこのサイズ。
ちなみにGWは横2x縦1ドットです。ちっさ。

アイテム判定は今回使ってませんが
後でアイテム追加したいとか考えた時に。

自機外側はホントガワだけなので
好きなように変えてください。

あ、本番のときは
「当たり判定」と「アイテム判定」の
開始時に表示のチェックを外すのをお忘れなく。

「復活」は敵や敵弾に当たった時の処理で
どちらかに「当たり判定」が当たった時
生成ポイントの変数
「V_生成時間」を90にするようになっており
これをカウントダウンし、0になったら
「初回」同様「プレイヤー生成」を3回回す
というものです。

「プレイヤー生成イベント」は
高速ループ「プレイヤー生成」を行うところです。

プレイヤー操作

移動は第二回講座で行った高速ループ式移動を採用。
当たり判定をより確実にするためです。
組み方は第二回講座及び今回のフレームを参照。

弾の発射は
スペースキーかボタン1を押している時に
「V_弾発射間隔」が0になった時に弾を生成する
高速ループ「弾発射」を5回回しています。
弾発射はそれぞれ別の位置、方向から弾を
発射するため5回回しています。
ちなみに弾の動作は「バウンスボール」です。
方向は上方向で。
間違っても「オブジェクトを発射」を使わないように。
どうやっても止まらんぞ。
※こちらも過去回参照

で、弾発射の間隔は先程の5回生成後に
「V_弾発射間隔」を5に変更してます。
そしてスペースキーまたは、ボタン1を押している時
「V_弾発射間隔」が0より上なら
「V_弾発射間隔」を1引くという処理になってます。

無敵時間は文字通り
敵や弾に当たっても大丈夫な時間で
0より上なら1引いてく処理です。
数式エディタのmodと
オブジェクトの表示、非表示を駆使すれば
疑似点滅なんてことも可能ですが今回はやってません。
めんどくさいもん。

画面外移動制御は
プレイヤーが画面の外に出ないように
制限をかける処理です。
今回のプレイエリアは横320x縦448くらいです。
これより上回ったり下回ったりしたら
ちょっと回りくどいが
横は320(フレームサイズの半分)+160(右移動時。左移動時は-になる。)
縦は240(同上)+224(下移動時。上移動時は-になる。)
という具合にプレイヤー位置を変更してやろう。

追従処理は本体である「当たり判定」に
「アイテム判定」「自機外側」を追従させる処理です。
不要っちゃ不要だがそれぞれの変数Aが
「当たり判定」の「固定値」と同じなら
座標を「当たり判定」と同じところにするというもの。
画面外移動制御より後ろにしないと
ちょっと見た目がよろしくないので。
これは実際にイベントグループを前後させるとわかる。


とまあ、今回はここまで。
随分とまあ、長く書いたもんだ。

次回は敵の生成と動作処理を解説していきまっする。

ということでまた次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2021/05/09 18:28

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2021/04/22 18:16

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2020/09/02 18:03

CF2.5講座第八回:手っ取り早くアクションを作るならば、PMOを使わざるを得ない

どうも、Master.typeXです。

今回は手っ取り早くアクションを作るならば
オススメのエクステンションの紹介です。

その名も
「Platform Movement Object」!

講座の用語集にはすでに出てましたね。

という事で今回の講座mfaです。

CF25_kouza_v800.zip (137.02kB)

ダウンロード

いざ起動!・・・しかし

注意された。なんでや!

このダイアログが出てるあなた!
文字通りPMOを導入してないですね!
出てない人は多分だいたい理解してるので
この講座の意味があんまりないかも知れない。

エクステンションマネージャーを開こう

ここは素直にダイアログにある
「エクステンションマネージャー」をクリックし
PMOを探してインストールしましょう。
これで再試行すれば通ります。

PMOの注意点

使い方や細かい説明はwikiの方に丸投げするが
ここで紹介できる範囲の注意点だけをいくつか。

だいたいの使い方はこちら


使う時は必ず「Set Object」で対象を指定しよう
PMOは置いただけでは動作しないので
必ずSet Objectアクションで
適用させたいオブジェクトを指定しよう。

ちなみに、一個のPMOでセットできるオブジェクトはひとつまで
という制限があるので要注意。
敵キャラなんかに使うならそれだけ数が必要になる。


矩形のオブジェクトを指定しよう
講座の用語集にある通り、CF2.5の当たり判定は
ファイン判定とボックス判定の2種類となっている。
で、ボックス判定なら大丈夫・・・なのだが
大抵の場合ファイン判定で使ってる人も多い。
しかしファイン判定だと当たり判定が可変するので
地面にめり込んだりするなどひじょーに目も当てられないことになるので
矩形の本体オブジェクトとキャラクターのオブジェクトは分けて使おう。
追従させるのも忘れずに。


とまあ、こんなところだろうか。
本来ならばサンプルゲームも用意したかったが
そこまで手も首も回らないので割愛させてくれ、頼む!

次回は主も知らない物理の世界に踏み込んで見る。
ニュータイプの修羅場が見られる・・・のか?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2020/07/06 17:04

CF2.5講座:第七回「ヘルスバーのヒントになったらいいなと思う」

どうも、Master.typeXです。

今回はCF2.5講座第七回
ヘルスバーのちょっとした作り方
を紹介していこうと思ってます。

こんな感じのを作ります。

いわゆる横方向の棒ゲージやアイコンによる体力表示です。
縦方向は拡大方法などを変更することでできるので割愛。

今回のmfaファイルです。※要CF2.5本体

CF25_kouza_v700.zip (134.47kB)

ダウンロード

かんたんに内容を説明していきます。

カウンターオブジェクトで表現

カウンターオブジェクトは数値以外にもサンプルの通り
ゲージとして表示が可能であります。
ただし、注意点として
最大値と最小値を必ず変更すること。

一番上の2本のゲージの内、上の方は
最大値と最小値を全く変更していません。
変更方法は、カウンターオブジェクトのプロパティで
変更は可能ですが、イベントを使ったほうが
柔軟性はあると思います。

アクティブオブジェクトのXスケール変更で表現

アクティブのXスケール(拡大率)を変更することで
表現する方法もあります。

こちらは最大値のみ設定しないと
動画のように際限なく伸びていきます。
また、ホットスポットは左上を推奨します。
真ん中に設定しちゃうと、中央の二番目のゲージのように
左右が広がったり縮んだりするので。

その他の表現方法

まず一つ目がライフオブジェクトでの表現です。
CF2.5で用意されている特殊な変数である「ライフ」を
参照して表示するというオブジェクトです。

ただし、ライフオブジェクトは
画像・数字画像・数字文字の三種類のみしか選べないので
表現の幅はあまりありません。
と言うか、わざわざライフ使うよりグローバル変数使ったほうががマシである

そして最後の一つが
アクティブオブジェクトのアニメーションを使った表現です。
今回は0~10の11個の画像を使ってますが
言うまでもなく数が多くなればなるほど大変なので
あんまりおすすめはできない方法ではあります。

ちなみに、疾風戦記フォースギア1のゲージは
このアニメーションによる表現で作られております。


とまあ、こんな感じですね。
今回は講座というよりは作り方のヒントのようなものですかね。
これが何かの役に立つ事を切に願う・・・。

次回の内容はPMO(Platform Movement object)を使った
かんたんなアクションゲームの作り方みたいな事をやってみようかな?

どうですか、奥さん?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3 4 5

月別アーカイブ

記事を検索