使用了一段时间的Silverlight,写个小游戏练练手,同时把过程写出来,与大家一同进步!
如果有什么问题,请大家指出。
连连看 应该是比较受欢迎的小游戏,所以,实现起来也应该让人觉得比较有意思。同时,难度也应该不大,这是我选择这个程序练手的原因。
OK,现在我大概的规划一下要实现的功能:
在SL上显示若干个小图标 可以点击小图标并标识选中的图标 两个相同图标间的连线(寻路功能、判断是否存在两图标是可连接的) 计时功能,游戏开始后,需要显示离游戏结束时的剩余时间。
根据我初步的想法,实现这几点功能,一个小游戏的雏形就已经完成了!
接下去,大家可以自己去完善它:)
接下来开始第一点功能:
在SL上显示若干个小图标
第一步,当然是创建工程了,这里步骤略去
我的环境是
VS2010 + SL4
大家可以去下载,express版本都是free的
第二步,找程序用的资源,图标
呵呵,QQ的表情是比较经典的啊!
再加上是GIF动态的图,吸引眼球!!那就用它做为我们的图片资源了。(可以动态替换就好了,如QQ皮肤,因为每个人的喜好不同)
为了方便演示,程序的图标数量假定为 16 X 16
有了图标,接下来需要排版:
这个功能应该是比较简单的,在SL中有比较强大的 layout 控件。
用的比较多的当然是 GrID 了。
如图所示:
生成一个控件 slucFacesContainer.xaml 上面用GrID控件排版为 16X16 ,每个Cell的大小为 24 X 24 (因为QQ的表情图标为这个大小,这里也是为了演示而直接硬代码了)
排版好了,接下来我就需要把QQ图标放到每个CELL中去。
第一个问题出现了
SL中不支持 GIF 的资源
网上找了一些资源,基本上不可能通过SL的直接支持而实现GIF的显示。同时也发现了第三方的替代品(.NET Image Tools)
(试用之后,感觉非常棒!就用它了!)
OK,现在我们的程序结构如下:
1.添加了QQ 表情资源(添加到工程中的文件的 BuildAction 需要设置为 Resource)
2.添加了Imagetools第三方控件(直接引用到工程中)
图如下:
上面 slucFacesContainer.xaml 实现了我们的的逻辑。
主要包括如下几点:
1.在控件的loaded 事件中进行初始化
2.获取配置信息
如:界面上的Cell 大小,数量,表情图标的个数等等
3.排版
随机获取表情图标,并把它放到 Cell 表格中
代码比较多,请耐心查看啊 :)
点击查看 下一章
总结以上是内存溢出为你收集整理的用SilverLight实现 连连看 游戏 (1)全部内容,希望文章能够帮你解决用SilverLight实现 连连看 游戏 (1)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)