拼图
一:实现转换功能,点击的时候选择然后把它定成一个值,判断这个值如果是”A“那么就进行处理将它状态变成”B“然后将他透明度改成255或者很低实现一个选中的效果,然后下一次判断如果选择的块儿的值为"A"或者“B"进行判断,如果是”A“并且有块儿变成了"B"那么就进行两张图片的坐标调换并且将透明度恢复成一个初定的值且将"B"改成”B“,如果选中的块儿是"B"那么就将"B"变成”A“并且将透明度恢复初定值。
二:判断游戏成功,将打乱前的数组存入一个数组A,数组里的数值数量是一开始的开始时给的一个i*j,然后打乱后存入一个数组B,并且将这个写入前面循环的方法体里,每次调换时更换坐标的时候同时更换掉数组中对于的数值的变化,然后每次调换都要进行一次遍历,A==B时,判断游戏成功。
三:游戏锁定图片,在游戏没有按开始键前和游戏判定成功和结束后就需要判定游戏锁定,在这里的话需要设定一个值然后通过它的F和T 的状态来判断是否可以移动 通过return来跳出点击事件来实现锁定
四:时间倒数的运用
飞机游戏
一:飞机分层是背景 然后其次是敌方飞机 子弹 我方飞机 遵循先进后出原则
二:我方飞机的实现:利用点击事件。敌方飞机的实现:利用动作,初始位置设定在
(cc.winSize.width * Math.random(), cc.winSize.height))//屏幕宽度乘以一个随机的小数实现随机获取一个屏幕宽度的随机值 然后在屏幕最上方发出
然后位移的话,使用了moveTo设定一个相对应的随机值的宽度,位置定在屏幕下方,然后达到一个屏幕上方的随机位置到一个屏幕下方的随机位置的位移。
三:子弹的实现,因为编写时使用了分类封装,所以使用了事件抛出和接收来实现子弹接收飞机的数据得到位移的起点获得。
this.schedule(function(){cc.eventManager.dispatchCustomEvent(GAME_DATA.USER_FIRE,that.getPosition())},GAME_DATA.WOFAN_ZIDAN,cc.REPEAT_FOREVER)
cc.eventManager.addCustomListener(GAME_DATA.USER_FIRE,this.location.bind(this))//GAME_DATA是一个类外全局的总名,然后USER_FIRE是一个抛出这个事件的事件名 WOFAN_ZIDAN是设置的一个类外全局变量设定的是上面的抛出下面语句的频率用来控制子弹的频率。
四:分层管理的优点:上下级关系脉络明显,控制上层调用下层,下层只负责自己的工作被上层调用,不涉及到上层管理,查BUG的话也比较明显的可以知道位置并且屏蔽掉其他元素的显示来单独寻找效果比之前的一个类不断找要方便快捷很多。