Silverlight 专家自学向导 #3: Silverlight 游戏支持、局限和解决办法

本系列Silverlight文章是由
http://blog.EntLib.com/entlibforum/ 开源小组翻译,循序渐进介绍Silverlight相关技术,推荐阅读。本文介绍Silverlight的游戏编程技术。在研究Silverlight 的游戏编程技术时,我遇到一些问题,同时也发现了相应的解决办法。这里我计划记录这些问题,来帮助节省你做相同研究所花时间。此外,我增加了游戏资源区,用来存放其他Silverlight游戏向导链接。
前面系列文章列表:
如果你发现其他资源,欢迎在下面评论,我将发布在这里。谢谢!
游戏资源
Silverlight 支持什么呢?
JPG和PNG文件格式
透明PNG文件
键盘和鼠标输入
声音
通过Grid元素进行有效UI布局
定时器(动画、游戏循环等等)
通过不透光(Opacity) 进行纹理混合
对多玩家网络支持的Socket/TCP编程
事件(点击等等)
动画 – 使用定时器的WPF模型,而不是Frame
支持Visual Studio的debug
当前Silverlight 不支持哪些?
1. GIF或BMP文件格式
-- 使用PNG或JPG文件格式
2. 从大图片子集创建小图片
有2个可选的解决办法:
(1) 对显示部分区域的图片,设置图片的裁剪区域
(2) 将每个图片文件放置在一个独立文件中。但是对于动画而言,这意味着有很多独立的图片文件,难以管理。
3. 在本地保存文件 – 由于安全因素的考虑,Silverlight 2.0 不支持保存。据说将来将支持SaveFileDialog 保存文件对话框,我将跟踪这一进展。我个人的图片编辑器需要这一特性。
4. 定位浮点值 – 如果你叠加图片形成地图,通过X和Y坐标的decimal值来滚动地图。
解决办法:使用四舍五入的值。
5. 像素bitmap编辑、过滤和效果
解决办法:通过不透光(Opacity),你可以实现一些很酷的效果,如纹理混合等等,平滑地混合切换。
6. 3D效果 – Silverlight 2 不支持任何3D,估计Silverlight 3 提供支持。
解决办法:有一些引擎和示例,完美地模拟了3D效果。
7. 不允许共享资源。例如,在矩形图之间共享SolidColorBrush,如果你有1000 个矩形,每一个矩形将需要一个独立的Brush。
8. 对文本框中文本进行对齐。
解决办法:你需要编程来实现。
谢谢!
-- Mike Snow
英文链接:
posted @
2008年11月23日 14:52