見出し画像

[#9]GB Studio ゲーム制作ログ|衝突したら画面が揺れるイベントの作成

はじめに

前回はなんとかセーブポイントを作ることに成功しました。今回は、「特定のスプライトにぶつかったら画面が揺れる」イベントを作ってみようと思います。

▼前回の記事はこちら。


フローを決める

今回は超シンプル。こんな感じでいきます⇩

サボってないですよ(眠い)


対象のスプライトを配置してイベントを追加する

①今回は、サンプルゲームに元々入っているスプライトを使おうと思います。(眠たいので作る時間が惜しかった)
「+アクター」>スプライトを設定)追加できます。

燃える火のアニメーションスプライトを入れました。


 イベントを追加する種類については、前回の#7の記事に記載しています。今回は、説明できていなかった「Collision Group」についても書いてみます。
▼公式ドキュメントでの説明

◼︎Collision Group
有効にすると、コリジョンに基づいてスクリプトを実行するオプションがエディターサイドバーに表示されます。
◻︎On Hit: (コリジョン グループが設定されている場合のみ) このアクタが指定されたコリジョン グループでプレイヤーまたはプロジェクタイルと衝突したときに呼び出されます。

https://www.gbstudio.dev/docs/project-editor/actors#collision-groups

なんて?

って言いたくなるような説明です。全然わかりません。でも、コリジョン=衝突って意味なので、「プレイヤーがスプライトとか、何かにぶつかった(On Hit)した時、その衝突がトリガーとなって実行される」ということだと解釈しました。

②このアクターにイベント(当たったら画面が揺れる)を設定していきます。
(コリジョンはわからないので、とりあえず1を選びました。)
On Hitタブ>Player>+イベント追加>カメラ:シェイクを選択。

多分これで画面が揺れるはず
選んだイベント。他にも色々なイベントがあります

Duration(持続時間)」という項目が0.5になっている。おそらくこの「カメラ:シェイク」がどの程度の長さで実行されるか、という設定だと思うので、とりあえずデフォルトで行きます。

このDurationの右側の「↔️」このボタンを押すと、方向っぽいのが選べるみたいでした

上から「最初水平・最初垂直・対角」

なんかかっこ良さげなので「Diagonal」を選びました。

実行してみる

パターン1:Duration:0.5/Diagonal

対角ガクガク。めちゃ熱そう。

パターン2:Duration:0.5/Horizontal First

確かに水平に揺れてる。

パターン3:Duration:0.5/Vertical First

こちらは垂直(縦)揺れですね。

パターン4:Duration:0.1/Diagonal

時間を短めにしたら、「毒ダメージ」っぽくなった。

数値や揺れ方を変えるだけでも、かなり印象が変わって見えて面白い!一番最後のやつは、毒状態のポケモンを連れている時にかなり似てて、ガクガクになりながらポケセンに駆け込んだ思い出が蘇りました・・・

フロー振り返り

これぐらいのシンプルさなら手探りでも作れそうかも(嘘)


おわりに

今日はとても眠くて、とっても簡単なイベントになりましたが作れてよかったです。

明日から年末年始休暇なので、思う存分時間使える〜やったね。

ここまで読んでくれた方、ありがとう〜
アクションしてくれたら見に行きます!
それではまた🦈

▼次の記事はこちら。

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?