我知道这可能有点早,但我刚刚在silverlight中开始了一款新游戏,并认为在Silverlight 5中开始会很好。唯一的问题是,我在网上找不到任何关于绘制2D的东西。非常有限的信息仅限于3D。有没有人有任何例子,教程,甚至只是文档的链接,可以帮助我做到这一点?也许再等几周/几个月对我的谷歌搜索结果有什么好处?
或者我的想法完全错了,silverlight 5在绘制2D图形方面实际上没有比版本4更有效吗?(或者,在3D空间中绘制多边形并在其上绘制精灵的复杂性并不值得这么多好处)
发布于 2011-12-12 00:00:47
如果你想在Silverlight3(或更高版本)中使用SpriteBatch,可以使用ExEn。它使用了一种优雅的技巧,使用Silverlight的保留模式图形系统来获得硬件加速的即时模式精灵渲染。
(您也可以直接使用保留模式的图形系统-但这对于游戏开发来说有点痛苦。)
如果您想在Silverlight5中使用SpriteBatch,可以试试Silverlight Toolkit,它在Silverlight5提供的XNA API的子集之上添加了XNA的SpriteBatch实现(以及其他方便的功能)。
查看this question and answer获取一些使用它的技巧。
在Silverlight5中使用XNA的主要优势是性能。它是硬件加速的,它是即时模式而不是保留模式。游戏开发的理想选择。(而且它可以处理3D。)
两个缺点是Silverlight 5的安装基数较小,而且并不是每个人都有能够提供其3D功能所需的硬件加速的显卡(而保留模式的功能至少可以退回到软件渲染)。
顺便说一句:使用3DAPI在2D中绘制非常简单:只需设置一个正交矩阵,禁用Z缓冲,不用担心Z坐标。
(免责声明:我写了ExEn,我还没有真正尝试过自己的Silverlight Toolkit。)
https://stackoverflow.com/questions/8462193
复制相似问题