微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用SilverLight实现 连连看 游戏 (1)

使用了一段时间的SilverLight,写个小游戏练练手,同时把过程写出来,与大家一同进步!

如果有什么问题,请大家指出。

 

连连看 应该是比较受欢迎的小游戏,所以,实现起来也应该让人觉得比较有意思。同时,难度也应该不大,这是我选择这个程序练手的原因。

 

OK,现在我大概的规划一下要实现的功能

 

  1. 在SL上显示若干个小图标
  2. 可以点击小图标并标识选中的图标
  3. 两个相同图标间的连线(寻路功能、判断是否存在两图标是可连接的)
  4. 计时功能,游戏开始后,需要显示离游戏结束时的剩余时间。

 

根据我初步的想法,实现这几点功能一个小游戏的雏形就已经完成了!

接下去,大家可以自己去完善它:)

 

接下来开始第一点功能

 

在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 表格中

 

代码比较多,请耐心查看啊 :)

 

 

点击查看 下一章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐