scratch里的角度怎么才能让克隆体面向克隆体?

这次我们用画笔和克隆绘制出三种闪电的动画效果。

背景为黑色的星空,用白色画笔绘制出随机运动的线条,利用克隆和删除克隆体表现出闪电出现和消失的效果。

第一种闪电是从固定点向鼠标方向延伸(图1)。

将原始角色内的小猫删除,只剩下透明底板。

设置4个变量,数量(控制同时出现的闪电线条数量,预设5,可以换成滑杆形式根据闪电效果随时调整)、起始角度、结束角度(控制闪电的转折方向,我们设置为-90度到90度之间)、步长(闪电每一次转折之间的长度)。

自定义2个积木:克隆和画线。

克隆积木,擦除全部,然后重复执行“数量”次克隆自己。

当作为克隆体启动时执行“画线”,画线积木,重复执行直到到鼠标的距离小于步长,这样可以避免线条在鼠标点附近堆积。面向鼠标指针,右转从起始角度到结束角度中的随机数,移动步长。最后要删除此克隆体,否则闪电动画只会重复300多次就无法继续了。

当点击绿旗,初始化数据,移动到起点位置,设置画笔粗细为1,画笔颜色为白色,画笔透明度为50,重复执行克隆积木(图2)。

第二种闪电,每次点击鼠标就向小球位置发出5条闪电,在这里我们需要理解克隆体本身不是闪电,闪电只是空角色使用画笔绘制的结果,绘制完成时角色就被删除了,而绘制图案留在舞台上(图3)。

绘制的原理和上一种类似,我们用变量XY找到鼠标的位置并设置为闪电起始的位置。然后向小球方向移动,移动过程中随机变换角度及颜色,直到碰到小球停止(图4)。

第三種闪电是在原地向四周不断旋转发射的闪电,我们就在中间的小球角色上绘制。将小球改为黑色(图5)。

画闪电的原理和刚才一致,由中心点向周围辐射出去(图6)。

用角色的图章去不断覆盖之前绘制的线条,这样利用虚像的特效就实现了闪电出现并消失的效果。

在Scratch3.0编程中,我们可以在“控制”脚本发现“克隆”积木,克隆就是复制的意思,任何角色都能使用克隆积木创建出自己或其他角色的克隆体,甚至连舞台也可以使用克隆。三个“克隆”有关积木如下:

当克隆发生的那一刻,克隆体会继承原角色的所有状态,包括当前位置、方向、造型、效果属性等等。

什么时候需要使用“克隆”?
在程序运行期间,需要同一角色的多个实例,可以用“克隆”指令实现。

例如:飞机大战游戏中可以不停发射的子弹和不断飞来的敌机。

如何区分“本体”和“克隆体”?

如下代码实验,当绿旗被点击时,出现两只小猫。用鼠标点小猫,左边的消失,说明左边的是克隆体,右边的是本体。

同时说明了“克隆自己”积木以下的积木归属本体。

使用“当作为克隆体启动时”积木

当在满足某种条件时,需要删除克隆体,则使用“删除此克隆体”即可。

电影:克隆人的进攻  截图

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scratch教程:谁是真悟空相关的知识,希望对你有一定的参考价值。

在西游记中,有一集是“真假悟空”,六耳猕猴变成了悟空的模样与真悟空真假难辨,打的不可开交。

在Scartch中,我们常常会使用一个本体来生成多个,这在开发过程中有重要的意义。但在实际操作中,每个看起来都是一样的,如何在程序中区分体呢?

我们这里需要区分两个问题:

第一个是如何区分本体和体.第二个是如何标识及区分多个不同的克隆体。

今天,我们就把克隆体的相关知识及区分的问题分析一下。

克隆体与本体的关系是什么呢? 

      在本体生成克隆体时,克隆体会具有和本体相同的位置、、大小、特效、造型、声音、局部变量和程序。由于它们具有相同的程序,所以在响应消息时,本体和克隆体可能会同时接受消息,产生错误的结果。因此必须区分本体及克隆体。

下面,我们从克隆体的生命周期上分析区分的方法,克隆体的生命周期包括如下几个过程。

克隆体的创建:是使用“克隆”积木生成的,可以生成一个角色的克隆体,或生成另外角色的克隆体。

在克隆体生成时,就会激发“当作为克隆体启动时”的,可以在此进行一些克隆体的初始化工作。

删除克隆体,克隆体最后可以删除自己。只有删除后,克隆体的所有资源才释放。

本体是一直存在的,只要在项目中加入了这个本体角色,这个角色就存在,直到将这个角色从项目中删除才会释放所有的资源。

       很重要的一个区别就是,只有本体可以接收绿旗。由于在点击绿旗时,系统会先删除所有的克隆体,这时舞台上只有本体,也就只有本体可接受绿旗事件。

从上面的分析可以知道,本体和克隆体发生的事件是不同的。

只有本体可以接收绿旗事件,只有克隆体可以接收“当作为克隆体启动时”事件。

这样就可以区分这两者了。

典型的方式如下,可以设置一个局部变量“是克隆体”,在绿旗时设置为0,表示不是克隆体,在“当作为克隆体启动时”时,再把这个变量设置为1,表示是克隆体。

这样这个变量的值就表示了是否是克隆体。

下面是区分克隆体的问题,在生成多个克隆体时,如何区分不同的克隆体呢?

可以使用这样的方式,建立一个局部变量ID,使每个克隆体的数值不同,就可以用来区分多个克隆体了。那么如何设置这个值呢?可以在本体中改变值后再克隆,因为克隆体继承了本体变量的值,所以每个可以有不同的值。

可以看到,在生成10个克隆体的过程中,每个克隆体都有了不同的ID。在点击绿旗及按下空格后,就得到了下面的效果。

可以看到每个克隆体得到了从1到10的不同ID,而说11的就是本体。

2   区分包括两个方面,一个是区分本体和克隆体,另一个是区分不同的克隆体。

3   区分本体和克隆体的方式是利于两者的不同事件。

4   区分不同克隆体的方式是使用一个标识的变量。

以上是关于Scratch教程:谁是真悟空的主要内容,如果未能解决你的问题,请参考以下文章

我要回帖

更多关于 scratch里的角度 的文章

 

随机推荐