我是XNA C#中的新手,我想知道如何在XNA C#中创建一个每秒都会闪烁的模型。我正试图为我的模型制造一个无懈可击的效果。
目前,我自己的想法是,我会将模型的可见性设置为假而真实每一秒。
感谢。
编辑:我在XNA C#??
中找不到任何model.visible = false
答案 0 :(得分:6)
您的想法很好,但您需要跟踪它是否应该是您自己可见的,并且只有在可见时才会显示。每帧都会通过代码显式重绘每个对象;所以当它不应该可见时,不要画它。
没有内置方法可以做到这一点(我知道);因为你要在不可见的物体上调用绘图函数,所以它没有多大意义。不首先绘制不可见的对象更有意义。
要使闪烁工作,您需要跟踪自上次翻转可见性以来经过的时间,并在该时间超过一秒时切换可见性。例如,在您的Update()
方法中,您将拥有以下内容:
if (gameTime.TotalGameTime.TotalMilliseconds >= nextBlinkTime) {
modelVisibility = !modelVisibility;
nextBlinkTime = gameTime.TotalGameTime.TotalMilliseconds + 1000;
}
对于更复杂的场景(例如,多个模型需要切换可见性等),我建议您将此行为抽象为可重用的类。