用户:
机灵的花粉蝶faIw查看:0 回复:4 评论:0 创建时间:2020-05-22T21:45:33
嘿嘿,友狼工作室的副室长又开始发教程贴了嘿嘿
那么,这次讲的是广播和函数
首先,先来看广播三件套
这就是关于广播的所有东西(不怕你听不懂,就怕你不会广播是什么)
再来看看函数
不会函数的,那你真没救了
P.S.哦对,忘了说了,作者为了节省图片数量,把这些东西都合并在一起了
好了,言归正传。让我们先来看看这两个东西有什么共同点
比如说,要让开始被点击时,把这个x坐标增加100,函数和广播都能完成这样的效果
+
或者是
+
这样,广播与函数都能完成x加100的动作。
细心的人就发现了,在广播时,开始被点击在前;而函数中,开始被点击在后……
为什么呢?
这就是第一个不同
广播中,顺序是这样的:发送广播→收到广播
函数中,顺序是这样的:创建函数→调用函数
所以,造成了运行顺序的差异
第二,
函数是已经事先创建好的,在调用函数时,会在函数库内形成一个多出来的积木,以便调用。训练时在使用函数时,都会先进行创建
广播是临时制作一个广播名称,收到与此广播名称相同的广播,就会进行执行。训练时在使用广播时,先会发送广播,然后在进行接受。
这也是训练时为了搞清楚逻辑关系,根据运行顺序(上面刚讲过的)来一步步地编程
还有还有的!还没完!
函数在调用时,就相当于将创建时下方的积木原模原样搬到调用方这边来执行
广播,其实就是接收后在接收方这里执行
所以,举个例子:角色A(以下简称A)与角色B(以下简称B)
A发送广播给B,B是接收方。而最终是B在执行这些代码
B创建了函数,A来调用,所以A是调用方。最终执行者是A
(上面的x座标增加100都是一个角色在执行,所以并没有这个差异)
这样就完了吗?NO!!!
函数调用的过程中,会自觉地等待,等到这个函数运行完后,才会进行下一步操作
广播的发送有两种:等待与不等待。(可以看上面“广播三件套”)
不等待则发送完广播直接进入下一步
等待则要等所有接受方全部运行完后才能进行下一步
(上面的x座标增加100因为时间差几乎为0,所以可以忽略这个差异)
还有呢!
函数的创建有且只有1次,调用可以无数次
广播可以接收无数次,也可以发送无数次
如果函数被调用后,创建函数的东西却被删除了,那么就会造成……悲剧,如下是一个函数被调用后把创建这个函数的积木删除后的效果:
广播可不管那么多,你只留下接收或者只留下发送之后,程序仍然照常运行,只是没有效果而已
最后说一点关于函数的“高大上”
函数具有传参数、返回值的功能,而广播没有
根据需要,广播与函数进行优势互补,我们不能抛弃广播与函数之间的任何东西
友狼出品
快来抢沙发!