Creation Manual

RPGドア

ポータルドアとスルードア

ドアはポータルドアスルードアの2種類があります

ポータルドア

他の座標、又は、他のマップへワープさせるドアです
ドア内にキャラクターが進入すると画面がフェードアウトしワープします

スルードア

ドアの反対側へ移動するドアです
ドア内にキャラクターが侵入すると壁の反対側へ移動します
壁内が通行禁止設定であっても無視して移動します

ドア素材

縦に複数種類のドアを並べることが出来ます
開閉アニメーションはフレームを横並びに配置し左に閉った画像、右に全開の画像となるように配置してください
開閉アニメーションのフレーム数に制限はありません
1つの画像に収めるドアは全て同じサイズになるようにしてください

インポート設定

インポート設定

ドア素材はスプライトとしてインポートしてください
インポート後は以下のプロパティを調整してください
調整後は下部にある『Apply』ボタンで設定を確定してください

TextureTypeSprite (2D and UI)
SpriteModeMultiple
Pixel per unit40 (タイルのサイズに合わせる)
FilterModePoint (no filter)
CompressionHigh Quality

スプライトの分割

インポートしたスプライトの分割を行います
『SpriteEditor』ボタンを押してスプライトの編集画面を開いてください
編集画面から『Slice』ボタンを押して以下の設定でスライスを行ってください

TypeGrid By Cell count に設定
Column & Row水平分割数と垂直分割数を入力
PivotBottom に設定

スライス後は各スプライト名を判りやすいものにリネームしてください
全てのスプライト名の編集が終わったら右上の『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入退室を行うドア オブジェクトの参照
TOP