2023年11月24日金曜日

c#コルーチンの変数値が変化しない

C#で変数の値が変化しない問題について。

以下は画像の透過率を徐々に下げるコルーチンです。

 private IEnumerator LoopKsane()

    {

while (intKasane<30)//30回くりかえす

{

KasaneArufa();

yield return new WaitForSeconds(1f);

}

}

fkasane=0.333f

private void KasaneArufa()

    {

//fColor = (intKasane +1)* fkasane;//こちらで改善された

fColor =+ fkasane;//繰り返しても0.333のまま変化しない

Color arufa = new Color(1f, 1f, 1f, fColor);

imgKasane.color = arufa;

intKasane++;

}

原因

=+で変数を加算したから?

new +=って書かないとだめだった・・・

対処方法

計算式に値が変化する変数を入れた。

所感

c#プログラミングにブランクがあるため仕様を忘れています。

スコープの問題なのか参照渡しの問題なのかごっちゃです。

0 件のコメント:

コメントを投稿