最新消息:

Scratch学习记录-小猫钓鱼

资讯 datangcangdaoke 2659浏览 0评论

前两天开始学习Scratch,刚接触里面有些东西还绕了一段时间。后来终于调好了,记录一下。

Scratch应用的是面向对象的思想,每个对象控制自己的运行,与其它对象的通信可以发送消息。它还有一个功能就是可以自己克隆自己,然后创建出很多对象出来。我做的是小猫钓鱼的小游戏,小鱼最多同时存在10条。当计时器超过30秒鱼就完全消失。在任何时候按下空格键,进行reset重新开始。问题来了,那些没有钓起的小鱼,我应该怎么销毁呢?

由于平时做的都是C/C++的代码,创建的对象或者线程都可以进行保存,需要销毁的时候进行主动销毁即可。但是Scratch没有办法保存这些克隆出来的对象,该如何是好。在这个问题上,我想了好久,自己都快蠢哭了。结论就是:不能主动销毁,就让克隆体自己消亡。可以在按下空格键的时候或者定时器到时的时候设置一个变量,在克隆体运行的时候发现变量为1就让其主动销毁。

另外一个发现就是Sratch里面消息处理函数和角色的主循环是同时运行的,接受消息并不会打断角色的主循环的运行。而且即使一个角色的消息处理函数出现阻塞,不会影响其它角色的消息接受。消息处理函数处理要简单,以变量的设置为主。角色的处理逻辑放在主循环中,这样代码就比较清晰。

您必须 登录 才能发表评论!