首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

霸气大师王ScratchMaths编程第35课:从一个到另一个

学习目标

§ 探索:角色之间怎样通过广播进行协作

§解释:两个角色之间怎样发送和接收消息

课程准备

本节课基于Multiple Sprites.sb2项目。在使用该项目文件之前,先备份文件。

课程内容

使用3-Multiple Sprites项目并选择Nano,构建代码使他有如下行为:当Nano被点击时,Tera将通过往上跳并缓慢下降来回应。

§ 从Events组下往代码区的空白处拖入一个broadcast...指令,在这个指令的下拉列表里选择new message,在弹出的对话框中输入Jump!——这个要被广播出去的消息。点击这个指令,使Nano广播他的消息——但是什么也没发生(为什么呢?)

§ 选择Tera并让他监听Nano的消息:从Events组下拖入一个when I receive Jump!指令到代码区,并把该指令添加到Tera的回应处理代码的上面。

§ 结合Nano的穿越能力,使他被点击时,他将先穿越,然后广播Jump!消息。

再选择Giga,她要和其他角色成为朋友:当她被点击时,她会广播make friends的消息,然后Tera会回应

§ 从Events组下往代码区的空白处拖入一个broadcast...指令,把其中的message改为make friends,并添加一个when this sprite clicked指令。

§ 选择Tera并让他监听Giga的消息:从Events组下拖入一个when i receive make friends指令到代码区,并从Looks组下添加下列指令进行回应:say hello, I am Tera! for 2 secs.

为Giga和Tera实现如下功能扩展

§ 当Giga被点击时,她会走向Tera并说 hello, I am Giga. And you? for 2 secs. 然后广播她的消息。改变Tera的响应,使得她也往上跳并缓慢下降,然后说Hello!I am Tera!

§ 为Nano构建代码,使得Giga走向他时,他也可以做出和Tera一样的相应。

练习

基于消息处理流程,为Nano,Giga,Tera和Pico设计发送消息和接收消息进行处理的功能。设计前要列出消息处理列表,格式为:发送者 ---> 消息 ---> 接收者 ---> 处理

注意

1. 广播没有明确的收信人,广播出去的消息和在大庭广众的环境里大声喊叫出来一样。

2. 不管哪个角色要监听一个特定的消息,这个角色都得有代码和when I receive...指令连接在一起,而且when I receive...指令的参数必须选择要监听的消息。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181027G10FJP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券