Memo

Last-modified: 2023-11-27 (月) 02:48:40

このページはイニシエダンジョン解析についてのメモの置き場です。


実行ツリー予想
Main.as frame3()

Main.as firstSet() //ここでaccessSetで["first",this.myID + "<>" + this.playData.save_data.ID + "<>" + this.playData.save_data.passCode];が渡されて....

Main.as accessCheck() //ここでaccessにfirstが渡される

AccessClass.as access() //URLRequestEventがCOMPLETEで下へ

AccessClass.as loaderCompleteFunc() //ここの引数のEventにエラーがなければ下へ

Main.as accessEnd() //↑から渡されるparam1はURLLoaderのデータ(鯖から送られてくるデータ)のmodeを参照//ここの引数でparam1がfirstだと↓に行く

Main.as TitleShow()

requestでfirstとか返せれば復元できる?

メモ
・this.Main.urlを任意のurlで書き換えてinishie.cgiを用意すれば動かせるかも
localで動かすとflash SecurityError: Error #2028: Local-with-filesystem SWF fileになる


原因は、ファイルアクセスのセキュリティエラーなので、
Security.loadPolicyFile("http://inishie-dungeon.com/crossdomain.xml");を
Security.loadPolicyFile("C:ローカルパス");と書き換えて、
そのxmlファイルの中身を
|<cross-domain-policy>
| <allow-access-from domain="*" />
|</cross-domain-policy>
にすればいけます。

|>「requestでfirstとか返せれば復元できる?」
「inishie.cgi」というファイルにアクセスして"first"などを返してもらうのが本来の処理ですが、
自分の場合は、inishie.cgiで返した文字列をflash側が正しく読み込んでくれなかったので、
event.COMPLETEを発生させる為だけの適当な文字列を返すだけのcgiファイルを作り、
"first"などの文字列を返す処理は、ソースコード内に書くことによって回避しました。

ダンジョン1Fに行くまでの手順は、確か、
"first"→"charamake"→"gamestart"→"mapload"です。