以下是使用C#控制unity里的图片在0.25秒由绿色变成红色再由0.25秒由红色变成绿色的代码:

using UnityEngine;
using System.Collections;

public class ColorChange : MonoBehaviour {

    public float duration = 0.25f; // 变换持续时间
    private Color startColor; // 初始颜色
    private Color endColor; // 终止颜色
    private float timeElapsed = 0.0f; // 已经过去的时间
    private bool isRed = false; // 是否变为红色

    // Use this for initialization
    void Start () {
        startColor = GetComponent<SpriteRenderer>().color; // 获取初始颜色
        endColor = Color.red; // 设置终止颜色为红色
    }

    // Update is called once per frame
    void Update () {
        timeElapsed += Time.deltaTime; // 更新已经过去的时间
        float t = Mathf.Clamp01(timeElapsed / duration); // 计算时间比例

        if (isRed) {
            GetComponent<SpriteRenderer>().color = Color.Lerp(endColor, startColor, t); // 从红色变为绿色
        } else {
            GetComponent<SpriteRenderer>().color = Color.Lerp(startColor, endColor, t); // 从绿色变为红色
        }

        if (t >= 1.0f) { // 变换完成后切换颜色
            timeElapsed = 0.0f; // 重置时间
            isRed = !isRed; // 切换颜色
        }
    }
}

将此脚本挂载到需要变换颜色的图片上即可

请使用C#控制unity里的图片在025秒由绿色变成红色再由025秒由红色变成绿色的代码

原文地址: https://www.cveoy.top/t/topic/fhxK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录