俄罗斯方块 ( 消除完成方块 )
这篇教学会延续“俄罗斯方块 3 ( 放置方块,方块不断落下 )”范例,实作俄罗斯方块游戏的“消除完成的方块”和“侦测游戏结束”效果,当某一行的方块全满时,消除该行所有方块,并把上面的方块往下移动,此外也会实作当方块接触到顶端时,游戏就结束的效果。
相关文章参考:
快速导览:
打开范例
打开“俄罗斯方块 3 ( 放置方块,方块不断落下 )”的范例,从这个范例进行修改。
判断当方块摆满一行后,消除方块
点击“背景格子”角色,修改“侦测颜色转换清单”函数,判断如果 bg_item 清单里有 0 ,才将其添加到 bg 清单,否则就是添加纯粹 12 个 0 的文字到 bg 清单的第一项。
完成后加入“得分”和“云端变数”的变数 ( 云端变数需要成为 Scratcher 才能使用 ),以及摆放和消去的音效。
最后设定绿旗点击时,得分变数为 0。
修正连续按压键盘的问题
由于方块往下移动时,用户可能会“连续按压键盘”,当连续按压键盘的情形发生时,就可能会发生“正在侦测颜色,但方块却开始移动”的状况,为了避免这种情形,可以加入一个 stop 变数进行判断。
前往“方块造型”角色,在“收到消息 start”广播里,加入 stop 变数等于 0 的积木。
修改“方块造型”角色的“修正 ( 垂直碰到 ) ”函数,判断 stop 为 0 才开始进行放置动作,放置时先将 stop 改为 1,就能避免连续按压的状况。
判断游戏结束
前往“背景格子”角色,修改收到消息放置,判断如果 bg 清单的第一个项目如果有出现“不为 0”的内容,就发送 gameover 的消息,当收到 gameover 消息时,就停止所有重复循环。
完成效果
点击绿旗,一个基本的俄罗斯方块游戏已经完成了,接下来就要添加一些其他的细节。
范例解答
继续阅读
如果已经熟悉了俄罗斯方块 4 ( 消除完成方块、侦测游戏结束 ) 的程序,就可以继续阅读“俄罗斯方块 5 ( 下个形状、支援移动设备 )”的文章。
微信扫码关注
抖音扫码关注