Silverlight.XNA(C#)跨平台3D游戏研发手记:(八)向Windows Phone移植之2D跨平台迁移

Silverlight 5集成了XNA,Windows Phone 7.1同样也拥有SL.XNA模式,基于Mono的开源产品Moonlight更能实现多平台部署;可见,Silverlight离跨平台的终极目标已越来越近。

为了向伟大的梦想迈进,我们不妨先从Silverlight与Windows Phone 2D的双向迁移开始深入探索。

本系列前5节我曾为大家讲解了一款基于Silverlight浏览器插件的SLG游戏Demo,该游戏作为向Windows Phone平台无缝迁移案例再好不过,只需简单几个步骤而已:

1、按照第六节的方法创建一个SL.XNA模式的Windows Phone游戏项目。

2、打开第五节的那款SLG Demo游戏源码,将其中的所有类和代码拷贝到第1步的项目中。

3、运行游戏项目(WP版本源码下载)

Silverlight.XNA(C#)跨平台3D游戏研发手记:(八)向Windows Phone移植之2D跨平台迁移_第1张图片

无语了…这不是开玩笑吧?有这么简单?

没错,若将两个项目的代码整合成一个,就成了真正意义上的完美跨平台了。为了进一步证明该观点的正确性,我通过以上方法如法炮制了另外一款教程中的Silverlight ARPG游戏Demo源码,整个过程不过几分钟而已(WP版本源码下载):

Silverlight.XNA(C#)跨平台3D游戏研发手记:(八)向Windows Phone移植之2D跨平台迁移_第2张图片

苍天呀!大地呀!坑爹呀?

先莫感叹,这样的跨平台移植效率很夸张,对于性能要求不高的2D游戏来说性价比非常不错,尤其是优化过Storyboard和DispatcherTimer的Silverlight 2D游戏,其实际效果尤其出色;

不过,凡事还得两面看。

若游戏运算量大,同屏呈现的图形数量多、尺寸大,甚至大量3D模型,那么对于配置依旧还不算太高的Windows Phone手机来说,该方案绝对不可取。于是我们便得从Silverlight 5和Windows Phone中的SL.XNA模式着手进一步探寻完美解决之道。

是动真格的时候了,从下一节开始,我将肩负起构建跨平台3D游戏之重任,更加深入的为大家讲解如何搭建基于Silverlight与Windows Phone之间的高性能3D游戏框架,Silverlight 3D之门明天即将全面开启~敬请关注。

推荐参考:NowpaperWilliams关于Windows Phone的游戏开发博客。

你可能感兴趣的:(windows,phone)