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

标签 c# xna

我是 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/

相关文章:

c# - 从查询字符串请求值

xna - 如何使用切线和纹理坐标从 3DSMAX 导出到 FBX

c# - 播放时加载纹理

c# - 阅读 RSS 时出错

c# - 这个 LINQ 查询会枚举整个枚举吗?

c# - DockPanel.Dock ="Right"不适用于最大化窗口上的单个控件?

c# - WCF 错误 : Service too busy

c# - XNA 按字符串设置颜色

c# - 访问其他类变量

c# - 如何判断一个key是字母还是数字?