XNA C#如何让我的模型闪烁?

时间:2011-12-21 03:46:05

标签: c# xna

我是XNA C#中的新手,我想知道如何在XNA C#中创建一个每秒都会闪烁的模型。我正试图为我的模型制造一个无懈可击的效果。

目前,我自己的想法是,我会将模型的可见性设置为假而真实每一秒。

感谢。

编辑:我在XNA C#??

中找不到任何model.visible = false

1 个答案:

答案 0 :(得分:6)

您的想法很好,但您需要跟踪它是否应该是您自己可见的,并且只有在可见时才会显示。每帧都会通过代码显式重绘每个对象;所以当它不应该可见时,不要画它。

没有内置方法可以做到这一点(我知道);因为你要在不可见的物体上调用绘图函数,所以它没有多大意义。不首先绘制不可见的对象更有意义。

要使闪烁工作,您需要跟踪自上次翻转可见性以来经过的时间,并在该时间超过一秒时切换可见性。例如,在您的Update()方法中,您将拥有以下内容:

if (gameTime.TotalGameTime.TotalMilliseconds >= nextBlinkTime) {
    modelVisibility = !modelVisibility;

    nextBlinkTime = gameTime.TotalGameTime.TotalMilliseconds + 1000;
}

对于更复杂的场景(例如,多个模型需要切换可见性等),我建议您将此行为抽象为可重用的类。