如何实现Silverlight游戏设计中的梦幻结局(十五)?

2026-05-27 10:532阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计3604个文字,预计阅读时间需要15分钟。

如何实现Silverlight游戏设计中的梦幻结局(十五)?

《银光游戏设计(Game Design): 如果还有梦(完)》

Silverlight游戏设计(Game Design):(十五)如果还有梦(完) C#优异的界面处理能力配合上F#强大的并行计算特性将使得Silverlight在未来的RIA界独领风骚,这才是Silverlight超越其他所有RIA技术的最大特性:一流的开发效率和产品性能! 如果还有梦,我会继续向山的顶峰攀登,过程是痛苦的,人不经历磨难怎能长大?每个脚印都伴随着汗水,但从没想过放弃;一路上结识了很多志同道合的朋友,我们相互鼓励度过一个又一个凄凉的夜,相互搀扶越过一道又一道的槛,依旧毫不畏惧,理想与信念是前行的灯塔,指引着我们朝着梦的颠峰前行,Moving on our way!

Silverlight游戏设计系列到此就全部结束了,原先计划至少为大家献上5个最有影响力的Demo,由于近期生活及工作的原因让我感到实在疲惫不堪因而未能如愿,还望大家见谅。

Silverlight在游戏开发方面拥有它独到之处,目前最新版本为4.0,开发环境集成于强大的VisualStudio2010中。Silverlight在短短的数年时间里能成长得如此迅速与微软的强力支持分不开,从Silverlight 5 Wishlist字里行间中我再次感受到世界对Silverlight未来的强烈期待,WEB-3D全方位支持或将在该版本中绚丽登场,这或许会成为一场空前革命,翘首以待。

这里,让我们再一次回顾Silverlight的发展历程,见证那数不尽的奇迹是如何诞生的吧(原文地址www.silverlight.net/getstarted/overview.aspx):

Silverlight 版本

功能特性

1.0

2

3

4

跨浏览器支持 for Firefox, IE, Safari

跨平台支持 for Windows and Mac (and Linux through the Moonlight Project)

2D 矢量 动画/图象

AJAX 支持

HTML DOM 集成

HTTP Networking

Canvas 布局支持

JavaScript 支持

XAML 解析器

多媒体 – 720P High Definition (HD) Video

多媒体– Audio/Video 支持(VC-1, WMV, WMA, MP3)

多媒体– 图象格式支持 (JPG, PNG)

多媒体- H.264 video and AAC audio 支持

多媒体标记

Windows 多媒体服务支持

支持语言 Visual Basic.NET 和 C#;公共语言运行时(CLR) based languages

支持脚本 IronPython, IronRuby, Managed JScript, 和其他动态语言运行时(DLR) based languages

丰富的核心框架 (例如 Generics, collections)

多线程

布局容器控件包括 StackPanel 和 Grid

全套标准控件 (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox, TabControl, and others)

管理控制框架

模板模型

可视化状态管理器

独立存储

深度缩放技术(Deep Zoom Technology)

多媒体– DRM Powered by PlayReady

多媒体- Windows Media Audio 10 Professional support

多媒体- MediaStreamSource for managed code media file parser and protocol extensibility

高品质缩放

多媒体- Basic SSPL Support

跨域网络访问

通过网络服务方便地访问服务器端数据

直接进入 TCP sockets

SOAP 和 REST services互通, 包括对 XML, JSON, RSS 和 Atom data formats 的支持

LINQ (包括 LINQ to XML, LINQ to JSON, 和 LINQ to Entities)

双工通信,从服务器到Silverlight客户端“推送”

数据绑定

WCF 数据服务

托管的HTML桥

托管异常处理

.NET Framework 安全措施

类型安全验证

XML 读/写

增强的键盘输入支持

文件上传支持 (通过WebClient API)

WPF兼容

无障碍

本地化

远程调试(PC 和 Mac)

脱离浏览器运行

如何实现Silverlight游戏设计中的梦幻结局(十五)?

网络状态 (脱机)

像素着色器渲染特效(Pixel Shader Effects) HLSL

位图 API

Theming at runtime

增强控件样式

辅助功能 - 系统颜色

位图缓存

3D透视

GPU硬件加速(针对视频和位图)

文本动画

原始的A/V支持

文件保存对话框

新内置控件DockPanel, WrapPanel, Viewbox

元件与元件的绑定

本地连接

二进制 XML

组件缓存(跨应用程序共享资源)

场景缓存 (对于位图)

本地字体

打印

WCF RIA Services

托管的MEF扩展框架

摄像头

麦克风

正式对Google浏览器Chrome的支持

输出受保护的音频/视频

组播网络

离线的DRM

受信任的应用程序(扩展沙箱)

IDispatch COM Interop

组策略对象支持

信任模式下脱离浏览器运行时的全键盘支持

信任模式下跨域网络访问

自定义 window chrome

脱离浏览器运行窗口设置 (位置, 尺寸等等)

网页浏览器控制及网页浏览器笔刷

Notification Toast

文本从右到左 / BiDi 文本

.NET4来了,带来了超棒般艺术式并行编程解决方案,包括如TPL(任务并行库(Task Parallel Library))、 PLINQ(并行语言集成查询(PLINQ,Parallel Language Integrated Query)以及 F#。在目前的Silverlight4版本中为了框架精简,暂时还无法用到TPL和PLINQ(WPF4能完美支持),F#成为Silverlight上目前唯一实现并行编程的方式。

对F#在Silverlight中应用感兴趣的朋友们我强烈推荐Brian的博客(微软F#开发团队成员)。其中一篇文章提到F#在Silverlight中的地位问题,有这么一句对我启发很大:标准/推荐的F#在Silverlight中使用的做法是通过创建例如C#的Silverlight应用程序后,再引用F#编写的Silverlight类库。当然,我也能通过hack的方式利用纯F#代码编写完整的Silverlight应用程序而无须任何的例如C#、XAML等等。

此时有朋友肯定会问:F#在将来的某天是否会革掉C#的命而真正成为.NET平台中的顶峰语言?

其实非也。从定义看,大家可以先了解下什么是F#:F#是微软唯一的FP语言(函数式编程(FP,Functional Programming))。那么相对于函数型程序设计语言,C#则是标准的面向对象的高级程序设计语言,虽然它们在.NET框架下能实现相同的功能,达到一模一样的目的;然而由于两者的性质截然不同,从一者向另一者的转变(包括思维,习惯,编码方式等),特别是如若想两者都精通那真绝非易事;当然,其实最重要的关键点在于两者在.NET平台中的地位是并列的,官方有这么一句话点明了它们的关系及未来:F#也许终将成为程序核心部分设计的首选,而C#VB等将在用户界面交互设计方面继续发挥其强大的潜力。

经我这么一说大家是否有种豁然开朗的感觉,没错了,对于精通C#的.NET开发者来说,我们只需大致了解F#的基本语法,然后由此再进一步掌握F#的并行计算实现的相关代码即可。F#的关键在于异步与并行计算,Brian在博客中也有写到使用F#的九个理由其中就有包含这两点。另一方面,并行计算也并非永远都比串行计算要快。老师的这篇文章讲得非常详细,同时也举了非常有说服力的例子,小结中有提到:由于“并行”需要付出代价,因此,不是所有的程序都需要转换为并行的,当要处理的数据量很大,或者要执行的数据处理任务繁重,并且这些任务本身就可以分解为互不相关的子任务时,使用并行计算是合适的。

打个比方,在Silverlight游戏开发中,我们完全可以使用F#并行计算方式实现A*以及游戏中的障碍物数组的动态更新等大数据量的繁杂处理,然后将结果交给C#,由C#去处理数据与界面间的协调问题,从而引导精灵们寻路移动等操作。

意味深长呀,任何语言都需要时间的考验,而我始终坚信:F#在未来并行运算的世界里终将大放异彩,而C#则是.NET平台中永不褪色的经典。C#优异的界面处理能力配合上F#强大的并行计算特性将使得Silverlight在未来的RIA界独领风骚,这才是Silverlight超越其他所有RIA技术的最大特性:一流的开发效率和产品性能!

如果还有梦,我会继续向山的顶峰攀登,过程是痛苦的,人不经历磨难怎能长大?每个脚印都伴随着汗水,但从没想过放弃;一路上结识了很多志同道合的朋友,我们相互鼓励度过一个又一个凄凉的夜,相互搀扶越过一道又一道的槛,依旧毫不畏惧,理想与信念是前行的灯塔,指引着我们朝着梦的颠峰前行,Moving on our way!

在线演示地址:silverfuture.cn

(完)

本文共计3604个文字,预计阅读时间需要15分钟。

如何实现Silverlight游戏设计中的梦幻结局(十五)?

《银光游戏设计(Game Design): 如果还有梦(完)》

Silverlight游戏设计(Game Design):(十五)如果还有梦(完) C#优异的界面处理能力配合上F#强大的并行计算特性将使得Silverlight在未来的RIA界独领风骚,这才是Silverlight超越其他所有RIA技术的最大特性:一流的开发效率和产品性能! 如果还有梦,我会继续向山的顶峰攀登,过程是痛苦的,人不经历磨难怎能长大?每个脚印都伴随着汗水,但从没想过放弃;一路上结识了很多志同道合的朋友,我们相互鼓励度过一个又一个凄凉的夜,相互搀扶越过一道又一道的槛,依旧毫不畏惧,理想与信念是前行的灯塔,指引着我们朝着梦的颠峰前行,Moving on our way!

Silverlight游戏设计系列到此就全部结束了,原先计划至少为大家献上5个最有影响力的Demo,由于近期生活及工作的原因让我感到实在疲惫不堪因而未能如愿,还望大家见谅。

Silverlight在游戏开发方面拥有它独到之处,目前最新版本为4.0,开发环境集成于强大的VisualStudio2010中。Silverlight在短短的数年时间里能成长得如此迅速与微软的强力支持分不开,从Silverlight 5 Wishlist字里行间中我再次感受到世界对Silverlight未来的强烈期待,WEB-3D全方位支持或将在该版本中绚丽登场,这或许会成为一场空前革命,翘首以待。

这里,让我们再一次回顾Silverlight的发展历程,见证那数不尽的奇迹是如何诞生的吧(原文地址www.silverlight.net/getstarted/overview.aspx):

Silverlight 版本

功能特性

1.0

2

3

4

跨浏览器支持 for Firefox, IE, Safari

跨平台支持 for Windows and Mac (and Linux through the Moonlight Project)

2D 矢量 动画/图象

AJAX 支持

HTML DOM 集成

HTTP Networking

Canvas 布局支持

JavaScript 支持

XAML 解析器

多媒体 – 720P High Definition (HD) Video

多媒体– Audio/Video 支持(VC-1, WMV, WMA, MP3)

多媒体– 图象格式支持 (JPG, PNG)

多媒体- H.264 video and AAC audio 支持

多媒体标记

Windows 多媒体服务支持

支持语言 Visual Basic.NET 和 C#;公共语言运行时(CLR) based languages

支持脚本 IronPython, IronRuby, Managed JScript, 和其他动态语言运行时(DLR) based languages

丰富的核心框架 (例如 Generics, collections)

多线程

布局容器控件包括 StackPanel 和 Grid

全套标准控件 (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox, TabControl, and others)

管理控制框架

模板模型

可视化状态管理器

独立存储

深度缩放技术(Deep Zoom Technology)

多媒体– DRM Powered by PlayReady

多媒体- Windows Media Audio 10 Professional support

多媒体- MediaStreamSource for managed code media file parser and protocol extensibility

高品质缩放

多媒体- Basic SSPL Support

跨域网络访问

通过网络服务方便地访问服务器端数据

直接进入 TCP sockets

SOAP 和 REST services互通, 包括对 XML, JSON, RSS 和 Atom data formats 的支持

LINQ (包括 LINQ to XML, LINQ to JSON, 和 LINQ to Entities)

双工通信,从服务器到Silverlight客户端“推送”

数据绑定

WCF 数据服务

托管的HTML桥

托管异常处理

.NET Framework 安全措施

类型安全验证

XML 读/写

增强的键盘输入支持

文件上传支持 (通过WebClient API)

WPF兼容

无障碍

本地化

远程调试(PC 和 Mac)

脱离浏览器运行

如何实现Silverlight游戏设计中的梦幻结局(十五)?

网络状态 (脱机)

像素着色器渲染特效(Pixel Shader Effects) HLSL

位图 API

Theming at runtime

增强控件样式

辅助功能 - 系统颜色

位图缓存

3D透视

GPU硬件加速(针对视频和位图)

文本动画

原始的A/V支持

文件保存对话框

新内置控件DockPanel, WrapPanel, Viewbox

元件与元件的绑定

本地连接

二进制 XML

组件缓存(跨应用程序共享资源)

场景缓存 (对于位图)

本地字体

打印

WCF RIA Services

托管的MEF扩展框架

摄像头

麦克风

正式对Google浏览器Chrome的支持

输出受保护的音频/视频

组播网络

离线的DRM

受信任的应用程序(扩展沙箱)

IDispatch COM Interop

组策略对象支持

信任模式下脱离浏览器运行时的全键盘支持

信任模式下跨域网络访问

自定义 window chrome

脱离浏览器运行窗口设置 (位置, 尺寸等等)

网页浏览器控制及网页浏览器笔刷

Notification Toast

文本从右到左 / BiDi 文本

.NET4来了,带来了超棒般艺术式并行编程解决方案,包括如TPL(任务并行库(Task Parallel Library))、 PLINQ(并行语言集成查询(PLINQ,Parallel Language Integrated Query)以及 F#。在目前的Silverlight4版本中为了框架精简,暂时还无法用到TPL和PLINQ(WPF4能完美支持),F#成为Silverlight上目前唯一实现并行编程的方式。

对F#在Silverlight中应用感兴趣的朋友们我强烈推荐Brian的博客(微软F#开发团队成员)。其中一篇文章提到F#在Silverlight中的地位问题,有这么一句对我启发很大:标准/推荐的F#在Silverlight中使用的做法是通过创建例如C#的Silverlight应用程序后,再引用F#编写的Silverlight类库。当然,我也能通过hack的方式利用纯F#代码编写完整的Silverlight应用程序而无须任何的例如C#、XAML等等。

此时有朋友肯定会问:F#在将来的某天是否会革掉C#的命而真正成为.NET平台中的顶峰语言?

其实非也。从定义看,大家可以先了解下什么是F#:F#是微软唯一的FP语言(函数式编程(FP,Functional Programming))。那么相对于函数型程序设计语言,C#则是标准的面向对象的高级程序设计语言,虽然它们在.NET框架下能实现相同的功能,达到一模一样的目的;然而由于两者的性质截然不同,从一者向另一者的转变(包括思维,习惯,编码方式等),特别是如若想两者都精通那真绝非易事;当然,其实最重要的关键点在于两者在.NET平台中的地位是并列的,官方有这么一句话点明了它们的关系及未来:F#也许终将成为程序核心部分设计的首选,而C#VB等将在用户界面交互设计方面继续发挥其强大的潜力。

经我这么一说大家是否有种豁然开朗的感觉,没错了,对于精通C#的.NET开发者来说,我们只需大致了解F#的基本语法,然后由此再进一步掌握F#的并行计算实现的相关代码即可。F#的关键在于异步与并行计算,Brian在博客中也有写到使用F#的九个理由其中就有包含这两点。另一方面,并行计算也并非永远都比串行计算要快。老师的这篇文章讲得非常详细,同时也举了非常有说服力的例子,小结中有提到:由于“并行”需要付出代价,因此,不是所有的程序都需要转换为并行的,当要处理的数据量很大,或者要执行的数据处理任务繁重,并且这些任务本身就可以分解为互不相关的子任务时,使用并行计算是合适的。

打个比方,在Silverlight游戏开发中,我们完全可以使用F#并行计算方式实现A*以及游戏中的障碍物数组的动态更新等大数据量的繁杂处理,然后将结果交给C#,由C#去处理数据与界面间的协调问题,从而引导精灵们寻路移动等操作。

意味深长呀,任何语言都需要时间的考验,而我始终坚信:F#在未来并行运算的世界里终将大放异彩,而C#则是.NET平台中永不褪色的经典。C#优异的界面处理能力配合上F#强大的并行计算特性将使得Silverlight在未来的RIA界独领风骚,这才是Silverlight超越其他所有RIA技术的最大特性:一流的开发效率和产品性能!

如果还有梦,我会继续向山的顶峰攀登,过程是痛苦的,人不经历磨难怎能长大?每个脚印都伴随着汗水,但从没想过放弃;一路上结识了很多志同道合的朋友,我们相互鼓励度过一个又一个凄凉的夜,相互搀扶越过一道又一道的槛,依旧毫不畏惧,理想与信念是前行的灯塔,指引着我们朝着梦的颠峰前行,Moving on our way!

在线演示地址:silverfuture.cn

(完)