友情提示:380元/半年,儿童学编程,就上码丁实验室。
这绝对是一个让你抓狂的又难以割舍的小游戏,原版是这样子滴。
接下来我们要做的就是用Scratch将其原汁原味地还原出来~
学习某种编程语言最好的方式就是从一个项目开始,从头到尾,不断除错,能力就是在这不断迭代中慢慢提升的!废话不多说,切入主题。
先简单介绍下故事情节:
由you操控的红色方块从安全区(起点),穿过由蓝色小球组成的阵列,毫发无损的到达终点区就获得胜利;碰到蓝色小球会挂掉回到最近的安全区(有些关卡会有好多个安全区);碰到黄色小球会有积分奖励(貌似没有半毛钱作用)。
角色以及游戏框架设定:
关卡地图:有30个,也可放置在舞台背景,切换条件就是由起点区到了终点区(范围)
红色方块:玩家角色,每一关起点位置都不一样,可以用列表存放30关起点坐标值的;同样终点区域也是用列表存放这块区域的坐标值。终点用其他颜色代替,用颜色检测适用少量关卡,多了条件代码太多了,也不好管理,用数据库存放这些数据是具有通用性的,即使关卡再多代码量也不会增加。
蓝色球:组成各种关卡的方阵,用克隆实现,如果用一个蓝色球角色实现30关的方阵代码有点恐怖,每一关用一个蓝色球角色克隆实现,代码方便打理。
黄色球:打酱油的,增加积分;每一关的数量和位置都不一样,怎么解决?也可以采取与蓝色球一样的解决方案,每一关一个黄色球角色(角色数量够恐怖啊);黄色球功能不多,因此1个就可以搞定!用列表的多级索引搞定!用列表存放每一关黄色球数量和每一关黄色球位置坐标值,然后用另一个列表存放这些数据的初始索引值。
因为只做了几关,目前框架还算合理,到后面再调整吧~
好,开始,第一关。
关卡地图我放到角色里面,容易控制其位置,放到背景就没办法了!~根据关卡变量随时切换相应的造型,代码easy~
控制红色方块是不能穿过黑线区域的。
红色方块碰撞;因为无法检测碰撞克隆体,只能是将碰撞检测放在每一个蓝色球角色里,发出碰撞广播。接受到广播后,做了点特效处理,回到安全区;后期安全区增加,这段代码需要重新改写。
红色方块的起点以及终点坐标列表每一关需要手动添加,类似
红色方块到达终点区检测,判断左边是否位于终点区域,代码有点长,逻辑简单
第一关蓝色球代码:
素材链接: https://pan.baidu.com/s/1bSmiqHTxNMd_weHKpDNsTg 提取码: whcm
转自公众号:
嘻嘻哈哈学编程