文字だけで見たらカオスだな・・
今回私が作っていたのは
・ScrollViewでタッチスクロール式のメニューが右端にある
・広告画像、それに関係するTwitterのつぶやきなどをサーバーから取得している
この時、
・広告画像を初めとする全てのサーバーから読み込むデータを取得し終えた後に、GUI操作が有効になる
という機能を実装しました。
今回も力技なのであんま期待できないですね、はい。
タッチスクロール部分と制御部分は分けています
【enable.js】
static var rtn : int;
function Start () {
/*サーバーから情報を読み込む処理*/
Resources.UnloadUnusedAssets();
rtn = 1;
}
return (rtn);
【GUITouchScroll.js】
function OnGUI() {
if(enable.rtn == 1) {
GUI.enabled = true;
}else{
GUI.enabled = false;
}
/*以降タッチスクロール部分*/
}
制御側のスクリプトであるenable.jsのStart()の前に予め何処からでも呼べる変数rtnを用意しておき、Start()が全て終了した時にrtnに値が入り、外でrtnを返してます。
昼下がりの眠気と戦う脳ではこんなクソみたいなコードしか書けませんでした。
まあでも一番簡単な気がします…。
OnGUIはフレーム毎に処理を読み込みますので、サーバーから情報を受け取る前にif文を通ったことで、以降GUIが操作可能にならないということはないです
Resources.UnloadUnusedAssets()
の部分は、利用していないリソースデータをアンロードしメモリ領域を開放する処理です。あってもなくても構いません。
まあ、こういう書き方もあるよってことで。