ドアはポータルドアとスルードアの2種類があります
他の座標、又は、他のマップへワープさせるドアです
ドア内にキャラクターが進入すると画面がフェードアウトしワープします
ドアの反対側へ移動するドアです
ドア内にキャラクターが侵入すると壁の反対側へ移動します
壁内が通行禁止設定であっても無視して移動します
縦に複数種類のドアを並べることが出来ます
開閉アニメーションはフレームを横並びに配置し左に閉った画像、右に全開の画像となるように配置してください
開閉アニメーションのフレーム数に制限はありません
1つの画像に収めるドアは全て同じサイズになるようにしてください
ドア素材はスプライトとしてインポートしてください
インポート後は以下のプロパティを調整してください
調整後は下部にある『Apply』ボタンで設定を確定してください
TextureType | Sprite (2D and UI) |
---|---|
SpriteMode | Multiple |
Pixel per unit | 40 (タイルのサイズに合わせる) |
FilterMode | Point (no filter) |
Compression | High Quality |
インポートしたスプライトの分割を行います
『SpriteEditor』ボタンを押してスプライトの編集画面を開いてください
編集画面から『Slice』ボタンを押して以下の設定でスライスを行ってください
Type | Grid By Cell count に設定 |
---|---|
Column & Row | 水平分割数と垂直分割数を入力 |
Pivot | Bottom に設定 |
スライス後は各スプライト名を判りやすいものにリネームしてください
全てのスプライト名の編集が終わったら右上の『Apply』ボタンで編集を終了してください
ポータルドアを作成するにはヒエラルキーの右クリックメニューから RPG -> PortalDoor を選択してください
スルードアを作成するにはヒエラルキーの右クリックメニューから RPG -> ThroughDoor を選択してください
ドアオブジェクトは必ず Rpg/Doors オブジェクトの直下に配置してください
ドアオブジェクトの名前はスクリプト制御のためのIDとしても使用されます
そのため重複しないオブジェクト名を設定してください
開閉アニメーションのフレームスプライトは AnimationSprite プロパティに設定します
AnimationSprite.Size にフレーム数を入力してください
次に閉まった状態のスプライトから順に AnimationSprite.ElementXX にドラッグ&ドロップで設定してください
ポータルドアの場合は MapSceneName プロパティと WarpPointName プロパティにワープ先を設定してください
MapSceneName プロパティにはワープ先のマップシーン名を入力してください
同じマップ内で座標のみ移動する場合は WarpPointName プロパティを空のままにしてください
WarpPointName プロパティにはワープポイント名を入力してください
デフォルト座標にワープさせるときは WarpPointName プロパティを空のままにしてください
DeveloperMemo | 開発者用メモ (製品版では無視されます) |
---|---|
EventEnable | イベントの有効フラグ |
Depth | 深度 |
OverridePassage | 通行設定のオーバーライド |
EventScripts | 実行するスクリプトのスクリプト パス |
├ PreEnter | ドアに進入する直前に実行するスクリプトのパス。詳細は下の『ドア イベント』を参照してください |
├ Enter | 使用できません |
├ PreLeave | 使用できません |
├ Leave | 使用できません |
├ ActionOnCell | 使用できません |
└ ActionFromSide | セルの側面からアクションボタンが押されたときに実行するスクリプトのパス |
MoveDistance | ドア進入時の移動セル数 (ドアの座標を 0 として何セル上に移動するか) |
SpriteRenderer | スプライト レンダラーの参照 |
LockSprite | ドア ロック時のスプライト |
AnimationSprite | 開閉アニメーションのスプライト。閉鎖状態から開放状態のスプライトを順に設定してください |
AnimationFPS | アニメーションのFPS |
IsForceOpen | 強制的にドアを開放状態にします |
IsLocked | ドアをロック状態にします。ロック中はドアに入る事ができなくなります |
OpenSe | ドアが開くときの効果音 |
CloseSe | ドアを閉じるときの効果音 |
MapSceneName | ワープ先のシーン名。空にした場合は現在のシーン内でワープを行います (ポータルドア専用) |
WarpPointName | ワープポイント名 (ワープポイントのオブジェクト名)。空にした場合はデフォルトの位置にワープします (ポータルドア専用) |
EventSprites.PreEnter にスクリプトを設定するとドア処理の前に実行されます
スクリプトの戻り値として false を返したときはドアの処理が行われます
true を返したときはドアへの進入がキャンセルされます
これらの挙動はメッセージ表示を含むスクリプトでも同じです
ドアは通常1セルしかイベント判定がありません
2セル以上の横幅が大きいドアを扱う場合は入退室用のイベントオブジェクトを追加する必要があります
入退室イベントを追加するにはヒエラルキーから追加対象のドアオブジェクトを選択し右クリックメニューを開きます
右クリックメニューから RPG -> DoorEnter (入室イベント)、又は、RPG -> DoorExit (退室イベント) を選択してください
追加されたオブジェクトを選択し Door プロパティにドア本体のオブジェクトをドラッグ&ドロップして設定してください
(上の操作で入退室イベント オブジェクトを追加した際は自動で設定されています)
最後に入退室イベント オブジェクトを適切な位置に移動させてください
DeveloperMemo | 開発者用メモ (製品版では無視されます) |
---|---|
EventEnable | イベントの有効フラグ |
Depth | 深度 (このプロパティは使用されません) |
OverridePassage | 通行設定のオーバーライド |
EventScripts | 実行するスクリプトのスクリプト パス |
├ PreEnter | ドアに進入する直前に実行するスクリプトのパス。詳細は『ドア イベント』を参照してください |
├ Enter | 使用できません |
├ PreLeave | 使用できません |
├ Leave | 使用できません |
├ ActionOnCell | 使用できません |
└ ActionFromSide | セルの側面からアクションボタンが押されたときに実行するスクリプトのパス |
Door | 入退室を行うドア オブジェクトの参照 |