Unity(JavaScript)で2Dゲームを作っています。
ゲーム中いろいろなシーンでグラフィックをフェードイン、フェードアウトする処理を行うのですが、
これを各シーンでメソッドを書くより、static classにすると良いだろうと考え以下のコードを書きました。
static class FIO{
function Img (img:UI.Image,IN:boolean,sec:float) {
//引数は(対象グラフィック , フェードイン/フェードアウト , 処理秒数)
Debug.Log("FIO/Img");
var t:float;
var u:float;
while(t<1){
t+=Time.deltaTime/sec;
u=t;
if(!IN)u=1-t;
img.color.a=u;
yield;
}
}
}
これをそれぞれ適切なタイミングで呼び出すようにしたのですが、
なぜか実行されません。
メソッド冒頭のDebug.Logすら実行されません。
呼び出し元のスクリプトは
Debug.Log("FadeOut");
FIO.Img(targetImg,false,0.2);
のように記述しており、こちらのDebug.Logは実行されます。
処理が実行されないだけで、
コンパイルエラーも実行時例外も発生しないので、理由がわかりません。
ご教示いただけるとありがたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/24 23:01