Silverlight中2D游戏的最佳做法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Silverlight中2D游戏的最佳做法相关的知识,希望对你有一定的参考价值。

我目前正在着手开发类似于Lemmings的2D游戏。 我正在仅使用Silverlight为Windows Phone 7开发它。 我选择Silverlight的原因有两个:

  • 我使用XAML创建(d)我的图形,因此不必缩放图像。
  • 以后我可能想将游戏移植到Windows Phone 8(它不支持用C#编写的XNA游戏。)

是否有人在使用XAML图形方面有最佳实践? 例如,最好的方法是使图形更轻便。 我遇到的另一个问题是我没有“心跳”来放置游戏功能。换句话说,我没有XNA拥有的“绘制”和“更新”方法。 我应该只是一个计时器,然后是哪个?

答案

尽管它不能直接回答您的问题,但我还是建议您不要将Silverlight用于琐碎的游戏。

我建议使用更适合以下游戏的游戏: http : //monogame.codeplex.com/

这与XNA完全一样,并且可以在Windows Phone 8上使用,也可以在iPhone,android和其他平台上使用。

另一答案

实际上,我在XAML中为Windows Phone 7制作了一个简单的游戏。 我注意到的问题是性能下降很快。 因此,如果您正在执行高级操作,则XNA和Monogame认为@Toad是个好主意。

在我的游戏中,我使用计时器来更新游戏,该游戏不需要运行太频繁(大约5-10次/秒),然后使用情节提要板来播放游戏中的大多数动画和动作。 但是,如果能够做到,则实际上取决于游戏的类型。

有关如何提高游戏性能的其他一些想法:

  • 减少XAML代码的数量
  • 如果使用动画,请尝试仅使用可以在合成器线程上运行的动画(GPU加速)
  • 了解如何使用位图缓存等。
  • 使用帧频计数器和内存以及性能分析工具
  • 在真实设备(最好是第一代设备)上进行测试,以确保其平稳运行。 仿真器没有提供太多有关如何在实际设备上运行的信息。

我发现一些更好的链接对于提高性能非常有用:

Windows Phone性能中的第4部分– GPU的强大功能

Windows Phone应用程序中的性能注意事项

以上是关于Silverlight中2D游戏的最佳做法的主要内容,如果未能解决你的问题,请参考以下文章

cocos2d游戏中实现关卡的最佳实践

Silverlight套接字或db请求?

用户退出 Google Play 服务后保存游戏的最佳做法?

我可以使用 Silverlight 中的 Microsoft.Office.Interop.Word .dll 来操作 MSWord 的 SaveDialogFile 吗?

没有引擎的Android 2D游戏开发

带有JavaScript后端和前端的多人游戏。什么是最佳做法?