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

在上一章中,我们实现了下面中的第一点

 

  

 

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

 

 

OK,现在我们开始处理第二点功能。

 

要标识一个CELL里的表情,可以有几种方式:

a.在表情外面画个边框

b.在整个表情上加一个透明色

 

两种方式都应该可以,个人觉得b方式会更漂亮一些。所以,我们接下来按b的方式来处理。

 

思路如下:

鼠标点击后,得到当前点击的CELL,并计算出此CELL的位置、大小,然后据此填充一个矩形上去。

 

看slucFacesContainer.xaml中增加的代码

代码主要增加了一个Canvas 控件,我们会在需要的CELL画出一个矩形的填充块。

 

后台代码增加了下面一个变量,用于保存鼠标的位置

 

在排版函数中增加进入表情CELL事件

上面增加了一行

ai.MouseEnter += new MouseEventHandler(ai_MouseEnter);

 

 其它增加的函数如下:

 

 

 

最后的效果如下:

 

未完待续... 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值