我是 XNA C# 的新手,我想知道如何在 XNA C# 中创建每秒闪烁的模型。我正在尝试为我的模型制作刀枪不入的效果。
目前,我自己的想法是每秒将模型的可见性设置为 false 和 true。
谢谢。
编辑:我在 XNA C# 中找不到任何 model.visible = false
??
最佳答案
你的想法很好,但你需要自己跟踪它是否应该可见,并且只在它可见时绘制它。每个对象在每一帧都被你的代码显式重绘;所以当它不应该可见时就不要绘制它。
没有内置的方法可以做到这一点(据我所知);如果有的话也没有多大意义,因为您将在不可见的对象上调用绘图函数。一开始不绘制不可见的对象更有意义。
要使闪烁正常工作,您需要跟踪自上次翻转可见性以来经过了多长时间,并在该时间超过一秒时切换可见性。例如,在您的 Update()
方法中,您会有这样的内容:
if (gameTime.TotalGameTime.TotalMilliseconds >= nextBlinkTime) {
modelVisibility = !modelVisibility;
nextBlinkTime = gameTime.TotalGameTime.TotalMilliseconds + 1000;
}
对于更复杂的场景(例如,多个模型需要切换可见性等),我建议您将此行为抽象为一个可重用的类。
关于c# - XNA C# 如何让我的模型闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584843/