【发布时间】:2010-02-06 07:27:01
【问题描述】:
当我遇到这个问题时,我正在研究 XNA C#,我需要存储易于编辑的动画数据,以便我的游戏能够渲染和播放它。
是这样的:
我有一个纹理从 (0,0) 到 (800,600) 像素飞过屏幕。这将持续 5 秒。
我如何在数据中表示它并编写它以便游戏能够解释并执行Draw 和Update 方法中的必要操作。如果我需要做一些广泛的编码也没关系。
【问题讨论】:
-
如果您将动画存储为 XML,那么您可以通过内容管道加载它们
-
你真的不能在 XML 中定义很多不同的动画和过渡吗?
-
@Martin:如果项目要在普通 PC 以外的平台上运行,任何脚本动画都必须通过内容管道,无论它们是否以 XML 完成。将 XML 用于动画 DSL 的结构与纯文本相比没有任何好处。
-
您可以将 XML 用于 DSL,但充其量只会让人觉得笨拙。在任何一种情况下,定义动画所采取的各种活动都必须在代码中完成;唯一值得编写脚本的是使用哪些活动以及在什么时间使用。
-
我提到 XML 的原因是因为内容管道会自动为您实现和去实现它。您在 C# 中定义类,管道处理编写一个 serealiser - 节省您编写和调试整个 DSL 解析器!