游戏演示:
这是个时机di活儿~_哔哩哔哩_bilibili
作品制作流程:
- 自由移动
- 不断切换造型
- 传送(碰撞检测)
- 火车&&棒球的旋转
- 增加关卡难度
- 游戏结束
1. 自由移动(对猫猫编程)
- 自由移动是让角色能够朝上下左右,四个方向移动
- 那么什么时候会朝这四个方向移动呢?——是当你按下对应的按键
- 也就是说:当你按下右键,角色要向右移动;
- 当你按下左键,角色要向左移动;
- 当你按下上键,角色要向上移动;
- 当你按下下键,角色要向下移动;
当......发生时候:这是一个事件,所以会用到事件代码块
- 知道如何检测事件了,那么又该如何实现移动呢?
回答:在scrach中,有让角色移动的代码块
- 但这?只有移动10步?怎么办?还是没有方向呀!
回答:别怕,我们还有这个!(掏出来)
- 是有面向方向了,但是这90是什么呢?
回答:其实呢,在scrach中,让角色朝一个方向移动,就是让角色面向某一角度方向进行移动。角度是可供选择的圆盘,箭头所指向的方向也就是角色的朝向
- 所以——
- 角度为90,角色朝右;
- 角度为180,角色朝下;
- 角度为-90,角色朝左;
- 角度为0,角色朝上;
现在,我们已经解决了什么时候移动,以及朝向的问题
也就是如下的代码块:
问:那么结束对猫猫的编程了吗?
答:没有!
问:为什么呢?
答:因为当你去试着移动猫猫后就会发现——(笑)
(小朋友~你是否有很多问号~)
(为嘛?我的猫会倒立行走)
这是因为:角色一开始的时候,默认都为任意旋转,我们要让小猫只能左转和右转,就需要将旋转模式设置为”左右翻转“
然后,我们再悄咪咪地把角色放到右下角(设置初始位置),再按照喜好调节一下角色的大小,嗯嗯,非常好!
- 老师,这个小绿旗是什么呢?
答:这个小绿旗呢,就像是看视频时出现的开始按钮,你一点击它,程序就会开始执行
同样的,也有对应的停止按钮
好的,到目前为止,对猫猫的初步编程已经做完!(什么,还有下一步)
2. 不断切换造型(对猫猫编程)
- 我们的左上角猫猫需要不断重复做动作来达到
勾引右下角的猫猫过来的目的~- 那么这样不断地做动作,看起来就像是一个gif或者定格动画,而实际上也确实是这样的
- 它拥有两个造型:
因为造型是可以循环播放的,所以我们只需要一直切换下个造型就能得到一个定格动画
注意:每次切换造型的中间要增加0.5秒停顿,否则造型就会切换过快,没有定格动画的感觉
这样我们就得到了一只不断切换造型的猫猫了——(也和右下角的猫猫一样,悄咪咪设置一下初始位置和大小)
3. 传送(碰撞检测)
再接下来是传送的部分:
- 碰到哪些物体会触发传送的特性呢?
答:左上角猫猫,火车,and 四个棒球
- 那我们要对这些的角色都就像编程吗?它们好多,看起来过程好复杂呀——
答:不需要,因为我们作用的对象都是同一个,所以只需要对右下角猫猫编程即可
- 理论成立,开始实践!
我们检测有没有碰到以上的对象是从游戏开始就一直在做检测的,所以一样会用到重复执行
如果碰到了以上对象,我们就让猫猫回到它初始的位置
这里做了多个的或连接,和前面的内容大体一样
由于代码块太长了,所以这里就只展示其中一部分
4. 火车&&棒球的旋转
看起来角色非常地多,但其实只包含两步:
- 第一步:初始化位置
- 第二步:让角色一直重复旋转
初始化位置,我们在这里已经不是第一次用到,就不再多做赘述
让角色一直重复旋转,即重复执行+旋转即可,非常简单
棒球1:
棒球2:
棒球3:
棒球4:
火车:
5. 增加关卡难度
scrach中可没有和关卡有关的已经写好的代码块
- 那要怎么办呢?
答:别担心,我们还有自定义变量代码块!(掏出来)
- 自定义代码块要如何使用呢?
答:非常简单,第一步,新建一个变量——
答:scrach的右侧就会出现和关卡相关的代码块了
一样的,对于关卡,我们包含三个部分:
- 第一部分:初始化
- 第二部分:关卡变量增加
- 第三部分:关卡难度增加
这三个部分我们细细来讲:
- 首先是初始化:游戏一开始,关卡要为0,也就意味着要用到变量中的第一个代码块
- 关卡变量增加,那么什么时候变量才会增加呢?
- 在碰到左上角的猫猫时,会触发到达下一关的事件,那么答案就是碰到左上角的猫猫时,关卡变量增加
- 关卡难度增加,那么我们是在哪里调节关卡的难度呢?
- 答案是火车的旋转速度会加快,所以我们可以根据关卡,设置火车每次的旋转角度——
这里老师只设置了四关,有需要的同学可以自行调节游戏的难度~o( ̄▽ ̄)
6. 游戏结束
- 平常我们玩的游戏,达成游戏结束通常有两种的判断条件:
- 可以是——
- 通过了最后的关卡,游戏成功
- 主角的血量为0,游戏失败
- 这里呢~没有做游戏失败的部分,只做了第一种,游戏成功!
我一共设置了四关,所以——只要通过了四关,就会达成游戏成功的条件!
- 为了能让玩家知道通关,我将关卡等于4作为判断条件
- 如果条件成立,就让猫猫说“通关”,同时不再让猫猫移动了,也就是停止所有脚本
7.结语
- 看到这里,恭喜你已经学会了这个游戏的全部制作!
- 文章留下了游戏的源代码,供同学们参考,添加更多有趣的功能!
- 链接: https://pan.baidu.com/s/1wuuDnUnjv9gMY48BxqZa6g 提取码: 8txe