Scrach游戏制作:时机的活儿~(可自改难度)(免费源码)

游戏演示:

这是个时机di活儿~_哔哩哔哩_bilibili


作品制作流程:

  1. 自由移动
  2. 不断切换造型
  3. 传送(碰撞检测)
  4. 火车&&棒球的旋转
  5. 增加关卡难度
  6. 游戏结束

 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. 游戏结束

  • 平常我们玩的游戏,达成游戏结束通常有两种的判断条件:
  • 可以是——
  1. 通过了最后的关卡,游戏成功
  2. 主角的血量为0,游戏失败
  • 这里呢~没有做游戏失败的部分,只做了第一种,游戏成功!

我一共设置了四关,所以——只要通过了四关,就会达成游戏成功的条件!

  • 为了能让玩家知道通关,我将关卡等于4作为判断条件
  • 如果条件成立,就让猫猫说“通关”,同时不再让猫猫移动了,也就是停止所有脚本

7.结语

  • 看到这里,恭喜你已经学会了这个游戏的全部制作!
  • 文章留下了游戏的源代码,供同学们参考,添加更多有趣的功能!
  • 链接: https://pan.baidu.com/s/1wuuDnUnjv9gMY48BxqZa6g 提取码: 8txe
  • 21
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值