对象和消息

在开始进入具体项目前,我们先来看一看什么是对象和消息?

Scratch中的对象和消息


在Scratch中,如果我们想要不同的 动画角色 能够互相交流,可以怎么做呢?比如小熊快跑项目(鼓励狂点链接查看源码)

runbear

在这个例子中,小猫向小熊大喊了一句:“Yo!小熊快跑”,然后当小熊听到小猫的喊话后,小熊边跑边大喊:“Yo!小猫跟上啊!”,小猫随即跟上了小熊的步伐。

现在我们来回答:什么是消息?

消息是不同对象之间的“对话”,对象之间通过不断“对话”彼此交流和协作

在Scratch中让不同动画角色相互对话的过程中, 对象 就是 动画角色

小猫和小熊之间的对话是通过 广播消息接收消息 积木完成的。小猫和小熊分别接收对方发送的消息,然后作出相应的反应。

block_boardcast 广播消息积木

block_recive 接收消息积木

Adapter中的对象和消息


在 Adapter 中,我们通过不同的 插件,去连接不同的 对象通过 Adapter 连接的 对象 就是通过 消息 进行交流和互动的。 在这里,我们可以先简单的将消息理解为 不同形式的“对话” 就好了。

对象的特性


好奇的同学可能会问:“小熊一定要那么听话向前跑吗?”

当然可以说不啦!上面案例的小熊其实是 熊出没 里的熊二,熊二很可能会这样回答小猫: “俺太胖啦,跑不动啊 :( ”,然后就站在原地动也不动。

我们可以看到对象有一个很重要的特性: 对象可以完全不对消息作出反应,继续做自己的事 。比如:你在打游戏,妈妈叫你写作业啦,你不听,继续玩多一会 :)

我们可以利用这个特性做什么呢?别急,先卖个关子,我们在后续的教程中我们再详细讲述。

在理解了什么是对象和消息后,我们将进入第一项目教程: EIM插件