- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在制作一个游戏对象以在 UNITY 3d 中“脉冲”其颜色。
我希望颜色在两种颜色之间不断变换,
以下是我的代码,它不起作用(我在更新功能中这样做):
renderer.material.color = Color.Lerp(renderer.material.color, TargetColor,fadeSpeed*Time.deltaTime);
if(renderer.material.color == TargetColor)
{
if(renderer.material.color == Color.gray)
{
TargetColor = Color.white;
}
else if (renderer.material.color == Color.white)
{
TargetColor = Color.gray;
}
}
我是新手。我做错了什么?
最佳答案
如果您为 fadeSpeed 选择一个合适的值,例如 10,您的代码就可以正常工作。(并且不要忘记像 void Start() {TargetColor = Color.gray;}
一样初始化 TargetColor)
您以错误的方式使用了 Lerp。这导致颜色在远景中达到其目标值。将此调试日志添加到 Update 中的某个位置,您可以看到问题:
Debug.Log("Current color: " + renderer.material.color);
如果我需要自己编写代码,我会这样做:
public class ColorBlinker : MonoBehaviour
{
public float FadeDuration = 1f;
public Color Color1 = Color.gray;
public Color Color2 = Color.white;
private Color startColor;
private Color endColor;
private float lastColorChangeTime;
private Material material;
void Start()
{
material = GetComponent<Renderer>().material;
startColor = Color1;
endColor = Color2;
}
void Update()
{
var ratio = (Time.time - lastColorChangeTime) / FadeDuration;
ratio = Mathf.Clamp01(ratio);
material.color = Color.Lerp(startColor, endColor, ratio);
//material.color = Color.Lerp(startColor, endColor, Mathf.Sqrt(ratio)); // A cool effect
//material.color = Color.Lerp(startColor, endColor, ratio * ratio); // Another cool effect
if (ratio == 1f)
{
lastColorChangeTime = Time.time;
// Switch colors
var temp = startColor;
startColor = endColor;
endColor = temp;
}
}
}
此外,请查看补间库。他们非常乐于助人。
关于c# - 统一创建脉冲颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29406845/
如果之前已经回答过这个问题,我深表歉意,但我无法找到我想要的东西。 我有一个 Box2D 动态主体,我对其应用线性脉冲以将其变成射弹。因此,当我单击屏幕上的任意位置时,我希望 body 投影到触摸位置
脉冲神经网络和循环神经网络都可以对时变信息进行建模。但我不确定哪种模型相对于计算成本更好。使用更复杂的脉冲神经网络是否值得,或者循环神经网络是否可以在所需计算量少得多的情况下工作?脉冲网络收敛得更快吗
如何在我的应用程序运行且屏幕打开时使 LED 或轨迹球闪烁或闪烁?比如接到电话时? 谢谢 最佳答案 Android 具有仅在屏幕关闭时 LED 才会亮起的硬编码功能。这是在源代码 Notificati
我的目标是从健身手环获取数据(脉搏)Torntisc T1使用我的应用程序并独立处理来自手环的数据。 为了实现,我使用了 Xamarin 并找到了一个 Bluetooth LE plugin for
我很难理解 Wait()、Pulse()、PulseAll()。他们都能避免僵局吗?如果您解释一下如何使用它们,我将不胜感激? 最佳答案 简短版: lock(obj) {...} 是 Monitor.
我在 Cigarette Smoker Problem 工作. 我只应该使用 Monitor 类。没有信号/信号量。 (是的,这是给学校的,但不是家庭作业,只是我的实践测试的免费练习,我真的需要做好准
我想使用 bcm2835.h 和纯 C 语言通过 PWM 控制 LED 二极管。我的代码不起作用。我错过了什么? 我尝试过“gpio”控制台命令,它工作正常,所以我知道 LED 已连接到正确的端口。我
在 ARKit/SceneKit 中,当用户点击按钮时,我想对我的节点施加一个脉冲。我希望冲动来自当前用户的角度。这意味着节点将远离用户的视角。多亏了这段代码,我能够获得当前的方向/方向: func
我正试图在 SK/SWIFT 中“脉冲”一个 Sprite 。我尝试使用 For 循环和 .setScale 进行粗略尝试,但它们不起作用(没有错误 - 只是没有动画)。我觉得使用 SKActions
我想为以下绘图符号设置动画(脉冲、发光)。实现所需行为的最佳方法是什么。谢谢 最佳答案 您不能为绘图符号设置动画。您可以做的是在突出显示的点上放置一个绘图空间注释。创建一个自定义的 CPTLayer
在 Perl 下,在 Linux 上将 Serial::Device 作为文件打开会重置我的 Arduino,但我不希望它被重置。 Arduino 可以通过脉冲 DTR 来重置,因此默认打开串口设备必
我用 alsa 成功渲染了音频,但是我完全无法确定 channel 映射。正如各种消息来源所说,我调用 snd_pcm_get_chmap设置好硬件和软件参数并准备好设备后。 snd_config_g
我是一名优秀的程序员,十分优秀!