前提・実現したいこと
・コルーチンなど仕組みについて勉強中です。
何も施していない「Cube」を作成し、「AddComponent」でスクリプトを付けました。
https://docs.unity3d.com/ja/2018.4/Manual/Coroutines.html
・上記のUnity公式サイトを『参考』にスクリプトを書きましたが、
「Assets\TestScript.cs(21,19): error CS0619:
'Component.renderer' is obsolete: 'Property renderer has been deprecated.
Use GetComponent<Renderer>() instead. (UnityUpgradable)'」という
エラーがでるので、ちょっとなおしてみました。
なおした箇所は「renderer」を「GetComponent<Renderer>()」に変えました。
(なおしたものはエラーなし)
しかし、動かしてみると「コルーチンでCubeが徐々に透明になる」はずが、まったく変化しません。
→徐々に透明になるよう正したいです。あと、なぜできないのかの理由も知りたいです。
発生している問題・エラーメッセージ
キーボード「F」を押してもCubeが徐々に透明にならない。
エラーメッセージはありません。
該当のソースコード
「Unity」の「C#」にて
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestScript : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown("f"))
{
StartCoroutine("Fade");
}
}
IEnumerator Fade()
{
for (float f = 1f; f >= 0; f -= 0.1f)
{
Color c = GetComponent<Renderer>().material.color;
c.a = f;
GetComponent<Renderer>().material.color = c;
yield return null;
Debug.Log("Coroutine"+ c);
}
}
}
試したこと
マテリアルをつけないとだめなのかなと思い、つけてみたが何も変化なし。
Debug.Log()にて「f」や「c」の値は変化していたし、コルーチンも正しく動いていた模様。
補足情報(FW/ツールのバージョンなど)
環境:Windows10Home
Unity:Version2018.4.20f1 Personal
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/26 04:42