【カスタムアクション】区画スクロール

画面を区切り、端へ進むとスーッとスクロールするシステム
TOPビューのアクションRPGや、サイドビューのメトロイドヴァニアまで
活用できそうです。
≪区画スクール≫プラグインの公開です。
■内容物
実行アクションに以下の機能が追加されます
≪マジックタイル≫
CA_RoomScrollAction.gd 本体
CA_RoomLayout.gd 区画の割り付けをシーンに描くノード
CA_RoomBigRoomConfig.gd 大部屋1件ぶんの設定
CA_RoomAreaConfig.gd エリア1件ぶんの設定
CA_RoomAreaConfig.gd (2.8 KB)
CA_RoomBigRoomConfig.gd (2.2 KB)
CA_RoomLayout.gd (35.3 KB)
CA_RoomScrollAction.gd (86.6 KB)

おまけのキャラクターの足元に影を落とすプラグイン


image
CA_ShadowCastAction.gd (75.5 KB)

※導入方法
上記*.gdファイルをアクションゲームツクールG2.0(1.3.x以上)で起動し
素材管理→スクリプト 内へドロップする。

導入後は実行アクション内に機能が追加されます。

削除する際は、使用していた機能をアクションから消してから削除した方が安全です。
導入前にプロジェクトのバックアップを強く勧めます。

サンプルプロジェクトはItchioにて無料公開中
https://gotchagotchagames.itch.io/ca-screen-swipe

■内容説明

何をするプラグインか
マップ全体を、画面と同じ大きさの四角が上下左右にびっしり並んだもの、
と考えてください。この四角ひとつひとつが「部屋」です。
プレイヤーが部屋の境界をまたいだ瞬間、ゲームが一度止まり、画面ごと
隣の部屋へ流れていきます。流れ終わったらゲームが再開します。

広い部屋も作れます
「この2×2マスぶんは、まとめて1つの広い部屋にしたい」という指定が
できます。広い部屋の中ではスクロールが起きず、カメラがプレイヤーを
追いかけます。部屋の端まで行くと、そこで初めてスクロールします。

1.1_管理用のオブジェクトを1つ置く
(1) 新しいオブジェクトを1つ作る(見た目も当たり判定も要りません)
(2) 名前は分かりやすく。例:区画マネージャ
(3) ゲームシーンに1つだけ置く
(4) そのステートの「実行アクション」に
「Camera / カメラ」タブ →「Room Scroll / 区画スクロール」を追加

※itchiioで配布している「区画マネージャ.tscn」を持ってきても良いです。

1.2_カメラが追いかける相手を教える

1.3_区間レイアウトノードをシーン内に自動で作成させる

(1) マップ(ゲームシーン)を開き、区間マネージャオブジェクトを配置しておく。
(2) アクション「区画スクロール」の
「区画レイアウト」→「区画レイアウトを作る」にチェックを入れる


(3) マップに RoomLayout が作られ、そのまま選択状態になります

(4) シーンを保存する

これで設定準備は完了です。

2.1_サイズを合わせる
RoomLayoutのインスペクター(右側詳細)を確認し
区画サイズに実際表示される画面サイズを入力します。

これで画面端のスクロールは可能になります。
自動でシーン内に水色の枠でマップが区切られます


RoomLayoutノードを≪移動≫する事で、区切りの開始地点を調整してください。

※移動を細かく調整する場合は
スナップの設定


グリッドのステップや間隔を細かくしてください。

2.2_UI等による画面サイズ変更に対応
RoomLayoutのインスペクター(右側詳細)を確認し
余白左上、余白左下の座標を入力します。


3.1_広い部屋を作る
ボス部屋や大広間のように、画面より広い部屋を作れます。

3.2_マス座標を調べる
シーン内、各区間マスに座標が表示されていますのでメモを取ります

3.3_登録する
シーン内RoomLayoutのインスペクターを確認し
出てきた欄を埋めます。
X:座標X
Y:座標Y で、起点となる部屋の場所を指示します

Z:横幅
W:縦幅 で、大部屋の大きさを決めます

3.3_確認する
大部屋ではカメラスクロールが発生し、キャラを追従します。

4.1_そのた出来る事
作成した「区間マネージャー」オブジェのアクションの設定があり
カスタイマイズ可能です

4.2_遷移
スライド、切り替え、速度などを設定します

4.3_部屋の書き出し項目
変数やスイッチに書き出すことで、敵を出現させるためのトリガーに使用できます
image

おまけの影落としプラグイン

(ShadowCastAction)


指定レイヤーを影マスとし、侵入時に斜めのマスクをかけます

通常時に指定のサイズの足元影を投影します
image

5.1_影レイヤーを作成
(1) タイルマップに影専用のレイヤーを足し、名前を “Shadow” にします
(2) そこに半透明の影タイルを塗ります

5.2_キャラに登録する
初期ステートに「光と影」アクションを追加します


デフォルトの設定を調整して、影角度などをカスタムしてください。

5.3_キャラ足元影
簡易的な足元影、です
落ち影を出す「オン」で様子を見て、調整をしてください。

今回4つのファイルを仕込んだりと実装難度が高くなっております。
itchioにアップしてあるサンプルプロジェクトを先に確認する事をお勧めします。

「いいね!」 2