1.从角色库中导入一条小鱼。使用克隆技术时,本体一般隐身即可,初始化脚本如下。
脚本含义:当绿旗被点击时,角色隐藏且缩小到原来的30%,并移动到指定坐标。
注:你可以先移动角色到指定位置,这时候“移到X?y?”脚本中就会自动填上当前坐标值。
2.利用重复执行克隆当前角色,补充脚本如下:
通过上面的脚本,我们克隆了10条“死鱼”,如果想让鱼动起来,需要用克隆事件的脚本(其他事件触发对克隆体都无效),克隆体事件脚本如下:
虽然克隆鱼会动了,但是方向都一致的,接着我们让每条鱼都与众不同吧!
1.游向不同方向的鱼。
需要用到数字和逻辑运算的脚本命令,添加后如下:
需要注意的是,面向用的是面向?方向。
2.不同颜色的鱼,利用外观中颜色设定的脚本,添加后如下:
注:记住,颜色变化不要放在重复执行里面,会超级卡。
3.不同大小的鱼,利用外观中的大小设定脚本,添加后脚本如下:
4.不同造型的鱼。
点击角色的造型面板,角色库中上传其他角色的鱼,作为当前角色的造型。
添加造型后:
利用外观中的造成切换脚本命令结合随机数脚本,实现克隆出不同造型的鱼。
1.从角色库导入鲨鱼
使用上次课的移动脚本,如下:
记得添加将旋转模式设定为“左-右翻转“,否则大鱼肚子会朝上。
2.增加事件:造型切换。
让鲨鱼嘴巴动起来,脚本如下:
最简单的做法,就是克隆鱼重复侦测是否碰到大鱼,如果碰到了,则删除克隆鱼。
判断我们可以使用控制类别中的如果….那么….脚本,是否碰到大鱼,可以使用侦测类别中的碰到?。
所以,克隆鱼脚本修改如下:
因为一直要判断是否碰到大鱼,所以应该把脚本放入重复执行脚本中。
数据和指令中的变量,可以用来记分。
1.删除自带的角色,导入苹果角色。
2.认识Scratch舞台的坐标范围:
表示横坐标,它的范围是-240~240(从左往右).
表示纵坐标,它的范围是-180~180(从下往上).
3.知道了坐标的含义后,我们来设计从顶部随机位置出现的苹果,看脚本理解:
苹果在顶部出现,所以一定是180(最高了),左右随机出现,所以可以使用在-240到240间随机选一个数。
1.利用坐标移动
可能有的同学会向用移动,不过移动的方向需要控制好,这里我们用更简单的脚本来实现。
2.设计循环掉落
师:如何判断掉到底部?
生:判断是否碰到边缘。
师:可以是可以,但你要做预处理,即角色不能碰到”上“、”左“、”右”这3个边缘,也就是要修改一开始的随机位置这条脚本,要保证初始位置不会碰到这3个边缘。
或者我们也可以利用坐标来判断是否碰到底部,使用“<”来比较。
为什么是Y坐标小于170?
最下面Y坐标不是-180吗?
因为角色可能到Y坐标=-180的位置停下来,所以稍微提高一点。
整个脚本不能理解:如果角色Y坐标小于-170的时候,那么移动到顶部的随机位置。
1.导入角色魔棒
2.设置好初始化位置:移动到底部。
3.让魔棒和鼠标同步移动。
角色
一、新建角色蝙蝠
1.隐藏蝙蝠且随机位置克隆
2.克隆事件1:面向随机方向移动
3.克隆事件2:切换造型
分开写,放一起容易卡,因为要逐条执行。
二、新建角色:瞄准镜(手动画)
一共2个造型,用于区别按下和松开。
1.跟随鼠标事件
初始化为松开造型:即造型1
2.造型切换事件
三、积分系统&克隆蝙蝠击中事件
1.添加积分变量并初始化
这个就不截图了。
2.克隆事件3:被击中
如果鼠标按下且碰到瞄准镜,则积分累计1分。同时隐藏克隆体,在等待1~3秒后显示。
目标:做一个眼珠会转动的动画。
新建项目,删掉自带的角色。
绘制一个圆(脸),然后设置造型中心到圆心的位置。
用同样的方法绘制一个角色-眼睛(注意,是重新画一个角色,而不是在原角色上画)
移到合适的位置,添加如下脚本:
选中要复制的角色,按右键。
调整好位置,点绿旗,看一下效果。
玩Scratch关键是想象能力,你能想出其他创意吗?
Scratch支持gif动画文件,可以通过这个按钮上传。
把自带的角色删除,然后上传资源文件中的gif动画。这里我上传一个僵尸gif动画文件,结果如下图。
点面板上的造型,可以发现这个动画文件共有21帧(即21张图片),如何让它动起来呢?
视觉暂留:物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1-0.4秒左右的图像,这种现象被称为视觉暂留现象。
动画原理:利用视觉暂留,如果在图像消失之前,再补上一张,就能产生动画效果,即图像实现了连贯。
接下来跟我一起来写脚本:
下一个造型:所属类别:外观。作用:执行一次脚本命令,就切换到下一个造型。
重复执行:所属类别:控制。作用:重复执行其内部的脚本命令。
等待?秒:所属类别:控制。作用:等待设置的时间。
注意:对不同的事件,最好分开写,这样不但思路清晰,而且互不干扰。
双击这段脚本并观察,角色动起来了吗?
添加下面的脚本。
当绿旗被点击:所属类别:事件。作用:当舞台右上角绿旗被点击时,脚本被触发执行。
移动?步:所属类别:动作。作用:角色前进设置的步数。
现在点一下绿旗,观察角色如何移动的。
刚才的脚本,我们发现执行的时候,角色移动到边缘就不再移动了,如果想让它来回移动,只需加一条脚本命令。
碰到边缘就反弹:所属类别:动作。作用:碰到边缘,角色会弹回去。
执行脚本,你发现了什么?
角色居然倒立着移动……没关系,加一条脚本命令搞定!
翻转模式只要设置一次就可以了,所以放在重复执行的前面。再试一次,正常了没?
僵尸倒着走?点造型面板,把所有造型都翻转一下。
现在增加一个事件,让角色跟着鼠标移动,只需添加
1.设置好角色大小
2.调整好初始位置
3.横向移动同鼠标x坐标。
调整背景高度,留出帆船高度。
新建角色,绘制一条直线。用于阻挡鱼跳出海平面。
跟之前学的克隆方法差不多
1.本体脚本设置
2.克隆体移动脚本设计
(1)为了不让克隆体飞出海平面,侦测有没有碰到之前的直线角色。
反弹角度计算说明:
1.造型界面,右上角单击上下翻转,使火箭朝下。
2.当玩家按下发射键后,应从船的当前位置发射,所以需要火箭一直跟随船,脚本如下:
3.发射脚本设计
应当发现,如果把火箭本体发射出去,就做不到连续发射,因为火箭还没到达海底的时候,半路又回去了。如果采用克隆,就没这个问题了。
等待1秒是为了不让玩家持续不断的发射,易造成卡顿。
4.克隆火箭动画脚本设计
这里引入了新的重复执行脚本,表示条件不满足,就一直重复执行,在这里,如果火箭没碰到下边缘,那么就重复执行。
为什么要等待0.01秒?
理由:因为克隆火箭也需要隐藏,当两个角色互相侦测且都要隐藏的情况下,一定要等待0.01秒,不然一个消失了,另一个还没触发脚本(scratch本质上并不是同时进行的,虽然这样设计了,偶尔还是会遇到一个提前消失,另一个不能侦测到)。
1.导入爆炸角色
爆炸脚本设计:
(1)一开始隐藏。
(2)当克隆体启动时,就开始爆炸。因为无法获取克隆体的坐标,我们可以把克隆体的坐标保存在两个变量中,然后让爆炸角色移动到该坐标进行爆炸。
2.克隆鱼添加克隆爆炸脚本
来做一个类似DC英雄闪电侠跑动的特效。
原理:移动的过程中克隆自己,克隆体利用虚像效果,逐渐消失。
1.从角色库中导入一个角色,添加移动脚本,这里可以随意发挥自己的想象。
2.增加克隆脚本,修改好如下:
克隆体启动后,不断增加虚像的值,直至消失。
注:虚像的值增加到100的时候,就消失了,所以可以配合重复执行,计算好虚像增加的值。
循环次数越多,形成的幻影就越长,反之越短。
脚本如下:
可以从移动方式、造型、特效上动脑筋,做出不一样的动画特效。