使用director来制作配对记忆游戏

上传人:自*** 文档编号:79215602 上传时间:2019-02-16 格式:DOCX 页数:5 大小:49.18KB
返回 下载 相关 举报
使用director来制作配对记忆游戏_第1页
第1页 / 共5页
使用director来制作配对记忆游戏_第2页
第2页 / 共5页
使用director来制作配对记忆游戏_第3页
第3页 / 共5页
使用director来制作配对记忆游戏_第4页
第4页 / 共5页
使用director来制作配对记忆游戏_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《使用director来制作配对记忆游戏》由会员分享,可在线阅读,更多相关《使用director来制作配对记忆游戏(5页珍藏版)》请在金锄头文库上搜索。

1、director配对记忆游戏 配对记忆游戏也算是一款比较经典的小游戏了,今天和大家一起讨论如何用Director来制作这类游戏。 一游戏介绍: 配对记忆游戏的玩法很简单,在牌上按一下鼠标左键就会翻开一张卡片,最多可以同时翻开两张,如果是两张相同,就可以配对消掉,不同的话就会自动盖回去,让用户继续选择。一般会有个时间限制,必须要在规定的时间内完成。直到把所有的卡片都消去之后游戏结束。这之中其实并没有什幺特殊技巧,完全是要靠瞬间的印象来回想自己点过的卡片花色与位置,然后逐一配对消去。(如图) 二游戏制作: 游戏制作思路和玩法一样也很简单,这里我们以一个实例来比较详细的讨论整个过程。 游戏程序设计可

2、以分为三个部分来,游戏初始化代码(相当于出题),卡片代码和计时器代码。 (1)游戏初始化代码: 分析: 进行游戏的初始化,这里我们用到了10种不同的卡片,由于要配对每一张卡片在舞台上都会出现两个,也就是说我们要在舞台上随机放好20张卡片,开始时不会看到卡片正面,都统一显示为背面。这里我们将卡片一次编号为p1,p2.p10。 代码: 1我们先要得到一个代码编号列表,由于每个卡片出现两次,所以每个都添加了两次。 tlist= repeat with i = 1 to 10 add tlist,i add tlist,i end repeat 2 将列表随机打散。 tlist=randomlist(

3、tlist) randomlist()是一个自定义的将指定列表随机打散的函数,论坛上有相关的讨论,这里就不做具体介绍了。 3 然后对应的设置好这20个卡片精灵的pMember属性。 len=tlist. count repeat with i= 1 to len sprite ( 10 +i).pMember= member ( p &tlisti) end repeat PMember记录了每个卡片精灵的正面member。(不是直接将sprite( 10 +i). member = member ( p &tlisti),因为开始时都显示为背面,即 member “back”。) 4 相关变

4、量初始化: -gSelSpNumList记录了用户选择的精灵通道号列表。 gSelSpNumList= -gRightNum记录了用户已经配对成功的对数。 gRightNum= 0 ( 2 )卡片精灵代码: 接下来介绍核心的卡片代码了。 1 定义好属性变量: property pSelf -自己 property spriteNum -自己的精灵号 property pMember -自己正面的Member property pClicked -是否已经点击 2 精灵初始化: on beginSprite me pSelf= sprite ( me . spriteNum ) pClicked

5、= 0 end 3 卡片的鼠标点击判断: on mouseDown me -在一次判断中,一个已经点击的卡片不能再次被点击 if not pClicked then -点击后播放点选音效并显示正面图片。 puppetsound 1 , down pSelf. member =pMember pClicked= 1 -添加自身精灵号到一个记录列表,如果用户已经选择好了两个卡片就开始比较,看看是否匹配。 add gSelSpNumList, spriteNum if gSelSpNumList. count = 2 then checkIfMatch( me ) end if end 4 检测是否

6、匹配(看看是否匹配) on checkIfMatch me -如果匹配则播放音效 if sprite (gSelSpNumList 1 ). member = sprite (gSelSpNumList 2 ). member then puppetsound 1 , up -等待声音播放完成,一个自定义函数。 delayWaitSound( 1 , 1 ) sprite (gSelSpNumList 1 ). blend = 0 sprite (gSelSpNumList 2 ). blend = 0 -正确数加一 gRightNum=gRightNum+ 1 -如果正确的数目等于10则游戏

7、成功。 if gRightNum= 10 then go win end if else -延时40个ticks即2/3秒,让用户在看一下卡片就翻回背面。 delayTime( 40 , 1 ) -不匹配则将该两个卡片显示回背面 sprite (gSelSpNumList 1 ). member = member ( back ) sprite (gSelSpNumList 2 ). member = member ( back ) -pClicked0恢复可点选状态。 sprite (gSelSpNumList 1 ).pClicked= 0 sprite (gSelSpNumList 2

8、).pClicked= 0 end if -清空用户选择卡片记录列表,为后面的选择做好准备。 gSelSpNumList= end 至此整个游戏的核心代码都介绍玩了,还剩下一个计时器代码。 (3)计时器代码: 这里就简单的介绍一下计时器代码。 1 定义并初始化属性变量: property pOldtime on beginsprite me iniTimer( me ) end on iniTimer( me ) -初始化计时器 -pOldtime记录的游戏开始时的时间。 pOldtime= the timer member ( Timer ). text = 80 end 2 更新计时器显示,并检测时间是否已经用完。 on exitframe me -更新计时器,得到已用时间(单位:秒数) passed=( the timer -pOldtime)/ 60 member ( Timer ). text = string ( 80 -passed)-如果已用时间等于80秒就去到游戏结束画面。 if passed= 80 then go lose end if go the frame end 至此,整个游戏的代码设计过程就介绍玩了,希望大家能从中学到一些东西。本文以介绍代码设计为核心,大家完全可以把它设计得更漂亮,加上更多得创意。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号