このページはイニシエダンジョン解析についてのメモの置き場です。
実行ツリー予想
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"です。