本课程Demo在线演示地址:http://silverfuture.cn/ (随课程进度不断更新,所有资源暂时放在xap)
2010 年7月20 日是一个不平凡的日子,应朋友的邀请在自己的家乡 广西师范大学 展开为期两周的 Silverlight 游戏开发课程培训.这是我为家乡做贡献的第一次尝试,看到二十多位同学牺牲暑假的时间与我一同学习感到无比 欣慰,中国年轻人的激情并没有被这个和谐的社会所磨灭,在他们对知识与未来充满渴望的眼神中我激动的走上了 人生中又一个讲台.是的, Silverlight 新的探险之旅即将从这里起航!
未来的一段日子里,我会把讲课的流程教案 ( 非详案 ) 整理并公布于博客中 ( 如有条件我争取将视频一同发布 ) ,希望能为广大的 Silverlight 爱好者们提供更多的学习资料.中国的 IT 技术不能总牵着世界的尾巴走,我们应该 Show 出自己独到的舞步,让世界昂首以望!
课程要求:
1 、热爱游戏,对游戏开发有着极高热情,愿意投身于 Silverlight 游戏开发领域.
2 、需要一定的编程基础,
micheal jordan heels,例如面向对象的知识. Silverlight 运行于 .NET 平台上,
griffeys shoes,因此本课程以 C# 为主要编程语言,同时还会用到 Javascript 、 F# 等等.
3 、善于动手,特别是要多动手.本课程会有大量动手机会(每节都有 Demo 演练).如果没有 .NET 相关编程经验,则需要您在课下多多学习多多练习,遇到问题学会上网查阅资料,提高自学与解决问题能力.当然 课程中我也会告诉您涉及些什么知识,会告诉您明确的学习方向;并且,我会毫不吝惜的分享所有相关文档以及书 籍等资料.
4 、课程 Level : 200 (中等难度)
课程简介:
1 )开发平台
操作系统: Windows XP / Windows 7
语言: .NET 3.5/4.0
3 )涉及知识
C# 、 Silverlight 、 WCF 、 MSSQL 、 Javascript 、 HTML 等2)课程亮点:
本课程涉及的内容知识点均非常新,由浅入深,从多角度、广域面对 Silverlight 开发 MMORPG 网页游戏进行细致讲解.国外目前虽然有一些 Silverlight 游戏开发方面的初级教程,但涉及的知识相对基础,
ken griffey jr sneakers,不适合向大型游戏项目拓展.而本课程建立在作者博客文字教程( C# 开发 WPF/Silverlight 动画及游戏系 列教程 (Game Tutorial) 及Silverlight 游戏设计 (Game Design)) 基础之上,
female jordan heels,所有内容均为原创,通俗易懂趣味性浓编写至今广受网友们的好评,是目前国内不可多得的游戏开发教程.本次 课程又在原有引擎基础上做了大规模优化,所有代码重新编写,面向对象的思想贯穿始终;力求为广 大热切希望向 Silverlight 转型的开发者们提供一部完美而优秀的入门教程,让Silverlight 网络游戏开发更高效,
griffey max 1,更简单.
3 )课程目标:
[ 第一期 ]
以实现传统 RPG 单机游戏所有基本功能为目标,在学习游戏开发过程中同时掌握 Silverlight 大部分相关编程语法、技术要点及技巧.
[ 第二期 ]
实现传统的 MMORPG 网络游戏基本功能,重点在于掌握 Silverlight 客户端与服务器端的通信技术(如WCF 、 Socket 等等).
4 )课程安排:(见附件 - 课程表)
5 )推荐书籍:
《 Silverlight2 完美征程》
《 Silverlight3 银光志》
引言一、什么是 Silverlight
Silverlight 是 微软 所发展的 Web 前端应用程序开发解决方案,是微软富互联网应用程序( Rich Internet Application ,简称 RIA )策略的主要应用程序开发平台之一,
air griffey max gd 2,以插件的形式安装于浏览器上运行.
与Flash 较类似,其主要特点有:
1 )跨浏览器、跨平台技术.可以在所有流行的浏览器中运行,
nike air max jr 2011,包括 Microsoft Internet Explorer 、 Mozilla Firefox, Apple Safari 和Opera ;同样也可以以独立窗口程序的形式( Out of Browser )运行于 Microsoft Windows 和Apple Mac OS X (跨浏览器、跨平台,
women nike heels,可桌面化).
2 )无论在哪运行,都能提供一致的用户体验(多浏览器下无差别体验).
3 )只需一次性下载很小的插件文件安装以支持,耗时仅数十秒( V4.0 的插件容量约 6M ).
4 )读取数据且更新外观时,不会通过刷新整体页面而打断用户操作(无刷新体验).
二、 Silverlight 技术优势
Silverlight 在短短 三 年半的时间里更新了从1.0 到4.0 这4 个版本 ,除暂时对 3D 方面的支持较弱些,在整体功能方面(无论企业级开发还是游戏开发)已全面赶超 FLASH ,是微软" 三屏一云 "计划 ( 电脑屏幕、手机屏幕和电视屏幕以及云计算 ) 的核心技术之一.
Silverlight 相较于其他 RIA 技术如 Flash 、 JavaFX 、 AJAX 、 HTML5 等更加强大的优势在于:
1 ) 一学两用 : Silverlight 与WPF (Windows Presentation Foundation ) 越来越趋于一致化 ( 参阅 WPF4 新特性 ) ,而两者代表着微软未来主流的 B/S 与C/S 技术,精通其中任意一个就意味着两者都已掌握,这对于新技术的学习者来说非常具有吸引力 ( 关于两者的适用情况可参考这篇文章: WPF 与Silverlight :为项目选择最佳技术 ) .
2 ) 多语言开发 :可使用除 VC++ 外(未来极有可能在一定范围内得到支持 ) 的任何 .NET 平台语言如 C# 、 VB 、 F#(F# 现在已经支持Silverlight 4 ) 等进行开发,在VisualStudio 、 Blend 等强大开发工具的帮助下实现多语言代码无逢衔接.(例如:用VB 写的函数可以在 C# 写的类中直接调用; FLASH 用AS , JavaFX 用JAVA ,
blue high heels, HTML5 用Javascript ,而Silverlight 却可以同时使用多种主流语言协同编程;)
3 ) 效率优势 : Silverlight 插件中集成精简版的 .NET 框架,在强大的类库支持下,企业能借此东风更高效率的研发一切应用程序.
4 ) 性能优势 : C# 或VB 强大的图形界面交互设计能力配合上 F# 并行计算特性可以打造性能一流的 RIA 应用程序,这也是 Silverlight 超越所有RIA 的最大优势 .
5 ) 前途无量 :就如同它的名字一样, Silverlight 一路走来随伴随着波澜跌宕,却勇往直前;据最新消息显示,微软将破天荒的将 Silverlight 完全开源 ,这是传说中代码吝啬鬼微软前所未有的举措,然而我们更能从中看到微软对雄霸 RIA 界的决心!
综上, Silverlight 在RIA 界拥有力压群雄之势,优秀的开发效率和产品性能终有一天会引领它走向技术之颠!
三、 Silverlight 案例演示
在正式切入主题前让我们先来感受一下 Silverlight 技术现在 & 将来给我们带来的巨大震撼:
官方网站里收录了海量的 Silverlight 应用展示 Demo ,教学视频以及全世界的 Silverlight 高手齐聚的论坛,你所需要的一切资源都可以从官方网站搜罗到.
在TED2010 上,来自 微软 的Blaise Aguera y Arcas 展示了全新的结合虚拟现实体验的 Bing 地图技术震撼了在场所有观众.如果你还在感慨 Google 街景 ,那么看看这个吧,看看他们怎样把流畅的街景技术和实时动态影像、天文景观结合在一起.让用户仿佛徜徉在异 国他乡.街景也不再局限于街道,在一个小市场里,你可以看到你朋友拍的照片动态匹配到他曾经所看到的位置上 .这种能够将影像和地图街景动态匹配的技术非常炫,不久的将来它将会出现在 Bing 里面.目前看来,整合了 silverlight 技术的 Bing Map 将会对 Google Maps 最终形成非常大的挑战.
5 )网页游戏领域
① 中游在线 国内最棒的 Silverlight 网游开发团队之一,目标:让中国的 Silverlight 技术领先世界 1 年!
② 雷神之锤( 演示) 3D 方面在未来将得到极大支持
③ Dark Ieign 堪比红色警戒 2 ,效果一流
最后是作者本人编写的 Silverlight 游戏 Demo ,在线演示地址: http://silverfuture.cn/
四、 Silverlight 游戏开发前景
据相关统计, 2010 年或 将 是中国网游人才年 ,中国未来网游人才的缺口将越来越大,这对于网游开发者来说前景一片大好;未来需要敏锐的预测,而机遇则更 离不开瞬间的捕获,识时务者为俊杰,唯做到者方能成功.
十多年来,国内网络游戏的发展如雨后春笋般迅猛,随着游戏画质与效果的不断提升,以往的有端网 游( C/S )客户端容量都呈现几何上升趋势;例如国内经典的《大话西游》《梦幻西游》《剑侠世界》等系列 2D 网游的客户端都是上 1G 的,而玩家熟知的 3D 网游《永恒之塔》安装后客户端更突破 10G 大观;基于有端网游这一弊病,
new ken griffey shoes,无端网页游戏在近些年来开始迅速串红,玩家只需打开浏览器即可玩到网络游戏,不用再耗费几小时 甚至 1 天的下载等待,也无须在每台机器上都重复重复再重复的花上几十分钟进行拷贝、安装庞大的游戏客 户端,
nike air griffey max 1,因此无端网游必将成为现在乃至未来高节奏生活下人们的高效率娱乐模式之一,而《开心农场》之类 的 Web 小网游就是最典型代表.伴随着各种 RIA 技术的不断更新、进步,
onitsuka tiger,多核高 CPU 配置的电脑逐渐普及, Web 网游不再仅仅局限于小游戏或单调的策略类 SLG ; 09 年开始各种回合制、即时类 Web-RPG 网游逐步蓬勃发展,兼备即上即玩的原则,它们以更大的优势在侵蚀着有端网游的地盘;这并不是投机,而是顺应 人类历史、科技进步的步调在成长壮大,而Silverlight 就是在这样的环境下成长起来的.
预计,未来 Silverlight 网游将出现大规模井喷现象,因为有无数像我这样长期致力于深入研究 Silverlight 游戏开发的 Fans 们在为大家默默的服务着,我们有着共同的目标:用Silverlight 打造性能一流 Web 网游.我们也有着同样的梦想:在亲手研发的网络游戏中驰骋沙场,真乃快哉!
接下来的几天,我将引领大家走进 Silverlight MMORPG 游戏开发这座华丽殿堂,一同体验那惊心动魄而又让人流连忘返的探秘之旅 – 当大家满载而归时,别忘了把 Silverlight 告诉你身边的朋友:其实游戏开发可以很简单的.
准备工作:创建游戏解决方案
1 、新建 Silverlight 游戏项目
打开 VisualStudio2010 (以下简称 VS2010 ),依次点击:文件 -> 新建 -> 项目,找到 Silverlight 节点并选中,然后在右侧的模板中选择" Silverlight 应用程序",设置好相应的项目创建路径并为该项目取名后点确定 ( 这里我为该项目取名叫 Game) ;此时 VS2010 还会提示我们选择 Silverlight 网站类型,直接点击确定使用默认配置即可.
2 、解析 Silverlight 项目结构
在"解决方案资源管理器"中可以看到我们刚才新建的" Game 解决方案"包含有两个字项目,分别为: Game 和Game.Web . Game 项目是 Silverlight 应用程序项目,默认包含两个文件: App 和MainPage . App 的作用是程序启动入口及全局资源配置管理,它继承自封装 Silverlight 应用程序的 Application ,其中 App.xaml.cs 文件记载着程序的启动、离开及错误处理:
public App() {
this .Startup += this .Application_Startup;
this .Exit += this .Application_Exit;
this .UnhandledException += this .Application_UnhandledException;
InitializeComponent();
App.xaml 则主要用于编写界面全局样式等(同学们可以查阅下 Application.Resources 还有其他什么作用):
< Application.Resources >
</ Application.Resources >
MainPage 是默认的程序主控件 , 在App.xaml.cs 文件的启动事件中记录了整个项目是通过 MainPage 的实例来启动的:
private void Application_Startup( object sender, StartupEventArgs e) {
this .RootVisual = new MainPage ();
MainPage 就好比网站中的 Index 或Default ,它是 Silverlight 程序的入口处 (MainPage 其实就是一个用户控件,我们可以通过在 Game 项目上点击右键 -> 添加 -> 新建项 ->Silverlight 用户控件的方式创建一个一模一样的该对象 ) .
Game 项目是 Silverlight 应用程序项目,那么 Game.Web 项目即是承载该应用程序的网站载体, Game 项目编译后生成的 Game.xap 文件即保存于 Game.Web 项目中的 ClientBin 文件夹下. Game.Web 是一个典型的 ASP.NET 网站, Web.config 让我们倍感亲切.项目自动生成的模板中包含有 Default.aspx 、 GameTestPage.aspx 、 GameTestPage.html 这3个页面 ,其中 Default.aspx 是Code-Behind 的ASP.NET 网站页面, GameTestPage.aspx 为单独的 ASP.NET 页面,而GameTestPage.html 则是最简单的静态页面.不难看出微软想告诉开发者们: Silverlight 作为网页插件,只需在页面代码( HTML )中通过 <object>……</object> 方式进行标记即可呈现而不论是动态的还是静态页面亦或是何种类型网页.大家可以根据自己项目的需要,在相应 的页面文件上点击右键 -> "设置为起始页"即可.例如,我暂时不需要额外的动态功能,那么我可以选择通过静态页的方式去展示 我的 Silverlight 应用,接下来我完全可以删除掉 Default.aspx 和GameTestPage.aspx ,然后将 GameTestPage.html 改名为 Index.htm 并设置其为起始页一样是 OK 的:接下来打开 Index.htm 文件, 首先把代码最下面那个 " (&) "符号删除掉;接着找到 <object>……</object> 这段,其中表示 Silverlight 应用程序路径的关键代码就在其中:
< param name ="source" value ="ClientBin/Game.xap"/>
3 、小结
到此,包含两个项目的 Game 解决方案似乎已不再有任何秘密了,透析其每个部位对于我们后面更深入的进行游戏开发打下坚实基础,因此这个 过程是非常必要的.
4 、课后作业
在网上搜索 Silverlight 的发展史,了解 Silverlight 相比其他 RIA 的优势在哪? ( 并行计算、 GPU 高性能可控加速、强大的开发工具支持如 VS 系列、 Blend 系列等等 ) . 阅读(10854)
Feedback
可惜没能去偷听老乡上课了
@Qinw
此次每天的课程教案我会尽量详细的整理,并附上全部源码,就算没有现场参加也能很好的学习.
为楼主的精神感到可嘉
技术就是要靠执着才能精深和推广
银光必定是未来表现层的主流之一
否则微软就要喝西北风去了
感动+支持~~ 如果需要帮助的话可以联络我们~~期待视频ing~~~
从此刻起学习!
强烈建议视频!
零零散散看了些Silverlight的资料,
一直在寻找一个突破口
@banban
感谢大家支持!我会尽力的!
我是游戏外行,我一直不知道 MMORPG 是什么意思.
留名 准备跟着一起学习一遍
持续关注中,期待楼主教程
good boy
非常支持,谢谢分享,请教个问题,现在Silverlight出4了,看《Silverlight2完美征 程》和《Silverlight3银光志》意义大吗?特别是Silverlight2和4差别应该比较大了 .
@Jake Lin
基础的控件使用及常见案例解决方案可以学习.
SL4主要新增功能及性能提升.如到SL5这些书可淘汰
@深蓝色右手
非常感谢,准备买两本看看,现在在看Pro Silverlight 3 和Windows Phone相关的,感觉也不错.
@Jake Lin
如果英文好看外文书效果更好些,欧美那边的Silverlight技术已经如火如荼了
为了自己的游戏. 杀啊 .
关注 什么时候sl安装量和flash 一样 可以考虑了
视屏啊··· 期待···
视屏啊··· 期待···希望SL是最新版本的
明天到场支持~~
现在我的个人时间大大减少了,已经没什麽时间(其实也没什麽精力)来学了.哎~~~,惭愧..只能帮深蓝顶 下~~
今天用了一下老师昨天给我们的Demo演示作品,很受感动...会努力去学!
期待深蓝出 视频教程..
看深蓝博文,
jordan heels,若饮醇醪
我是来学习的.支持深蓝.
我啥时候也能做个自己的游戏呢.
报告
工具安装完毕
书籍购买完毕
作业完成完毕
就差你的博文了 完毕.
哥!我用VS2008 和Silverlight3.0 tools 行不?不然要装很废时间!后期会有所影响吗?
@tonyidni
最好用vs2010
希望老师能讲一下多人WEB游戏,如何让多人同时游戏,现在正在看老师的博客跟着学.
@hahaa
后续会考虑
如果有机会到现场听团长的课程就好了~ 呵呵~
新篇章,我要跟着从头开始SL,最近转flash阵型了 :(
..!下一篇啥时候出现啊 期待中
@Qinw
整理中,请耐心等待
LZ,
nike air griffey max,请问可以全部用silverlight做一个网站吗,好像导航不太好搞哦,像超链接一样的可以转到另外的 页面的功能
@奋斗
一个页面一个继承自Canvas或Grid的类就好了
很期待有在线视频和课件同步,那样就更好了
LZ牛人呀!
@斌斌NO1
不录视频不知道,真的太困难了.只能先出文字教程后续慢慢补上.
已经有朋友提出希望有视频的需要了,我也是专门登陆上来给楼主建议这个需求的,因为看来铁猛兄录制的WPF 的视频后发现,一个良好的讲解视频,对于学习者来讲绝对是事半功倍的效果,而且视频也可以完全体现这类以U I为主的技术,我也相信楼主所说的视频的要求更高,确实非常高,其实也是一次锻炼
埋头苦学,楼主辛苦了
看到博主的精彩文章,如醍醐灌顶搬,突然豁然开朗,兴奋不已,决定学好SL,期待博主更多精彩 课程
很崇拜深蓝老师,我打个赌可以吗?看深蓝老师是不是经常会在博客园里对以前的文章进行浏览和回顾,呵呵.我 打赌深蓝老师不会在我发布这评论后的14天内看到...呵呵
@核武器
一起努力吧,坚持就有收获
我错啦,哈哈,真是没想到啊.深蓝大哥..我想做一个三国杀的SL网页版,跟这个网http://web.sanguosha.com用FLASH的界面一样,你能帮助我吗?我的QQ:61357455, 你能加我吗?
@核武器
你可以自行多尝试,遇到问题和大家一起讨论吧.
平时上班比较忙,我在国内的一家自动化行业公司工作,但是一直对游戏很感兴趣,晚上下班才有时间自己学习, 现在年轻人不是很崇拜一种叫"三国杀"的桌游,不知道深蓝老师是否也对这个有兴趣.所以很想学习FLASH 版的网页三国杀,用SL也模仿一个.现在遇到的初学问题是:用SL制作的登录框(继承childwindo w)是模态的,再贴个图片上去跟三国杀官网的登录框完全不一样;应外一种方法是学习深蓝老师的"W PF/Silverlight深度解决方案:(十三)完美自定义之ChildWindow
",但是无法初始化主页显示的时候弹出这个框.很迷茫,,不知道如何做到跟http://web.sanguosha.com登录界面一样的做法,
air griffey max 1 White,并且点击返回的时候弹出另外一个漂亮的对话框.不知道深蓝老师能否看到给我提供一下解决思路.
@核武器
你用一个Canvas作为容器,一个Image背景,里面还需要什么自己添加进去就是界面了
http://web.sanguosha.com/Play.html?server=1 看看这个界面,MS它的效果是弹出式的非模态框,但是我无法在页面初始化时做到这点,请教
@核武器
你可以自己从底层写一个,后面的教程我会有详细讲解.
我的特点就是善于模仿,我想深蓝老师给我做一个这样的一模一样的界面http://web.sanguosha.com/Play.html?server=1 .非常感谢.或者有教程可以看到这个.
我找到例子代码了.期待我做一个出来吧呵呵
@核武器
^ ^加油
"2010年7月20日是一个不平凡的日子,应朋友的邀请在自己的家乡广西师范大学展开为期两周的Silv erlight游戏开发课程培训."
啥时候 我也能像你那样荣回广西就好了.
@indexRoad
什么时候开始第二期呀
@银光照钒粉
这个就不急了,大家可自行研究先.
very well,I like it
不错,新手就需要这样的详细的讲解,非常有用
最新知识库文章:
3800元,PHP培训费暴跌! HCE:提升资源利用率的MapReduce框架 别用 Java 7 ? 你是在开玩笑吗? Skype for Xbox 360 已经准备就绪? 我们处在一个算法的时代——Google新的旅行者推荐 全面猜想:有关iPhone 5的25个可能 关于编程,大学没有传授的10件事 持续集成理论和实践的新进展 jQuery设计思想 HTML5基础,第3部分:HTML5 API的威力 更多知识库文章... China-pub 2011秋季教材巡展 China-Pub 计算机绝版图书按需印刷服务 Silverlight MMORPG网页游戏开发课程[一期] 序言