Scratch利用列表记录游戏数据

在一个俄罗斯方块游戏中,如果玩家业务熟练,游戏可能会持续较长的时间,其间消耗的积木数量也是极为庞大,所以不准备用资源有限的克隆体来解决问题,这里准备采用一个取巧的办法,当积木下落确定位置之后,检测该区域的颜色属性并记录在表内,然后发送一条消息,让克隆体方阵进行一次重绘。

记录数据示例 提取码: wcg6

scratch_record_data_p1

上一节的例子当中,增加了一个小圆圈对象,我们准备由它来负责记录数据,整个过程如下:

  • 圆圈对象发送消息给蓝色方块
  • 蓝色方块固定位置后反馈圆圈
  • 圆圈检测方阵颜色并做好记录
  • 圆圈发送消息给方阵要求重绘
  • 圆圈对象发送消息给蓝色方块

scratch_record_data_p2

为了方便小圆圈对象的定位,我们新建了两张列表,分别储存每个克隆体的X、Y坐标,因为有49个克隆体,我们只需要让小圆圈执行一个重复49次的循环,依次读取坐标就能准确实现定位了。

scratch_record_data_p3

蓝色方块确定自己的位置后需要反馈消息给小圆圈,所以在脚本停止之前我们增加了一个消息3,告诉小圆圈自己已经到达目的地,帮忙记录一下小方块我到此一游。

scratch_record_data_p4

这次小圆圈对象承担起了更多的任务,当蓝色方块发回消息的时候,它需要以豹的速度跑过方阵的每一寸土地,记录实时的颜色变化,然后通知克隆体大部队刷新。屏幕刷新之后,蓝色方块的信息已经被记录,所以它可以离开进行下一轮的下落了。在实际的俄罗斯方块游戏过程中,除了轮询,它还负担起了判断一行是否已满并进行消除的工作。

scratch_record_data_p5

方阵的系列课程,介绍了方块下落,色块显示,以及程序加速的部分内容。示例比较简单,所以效果也较为粗糙,在接下来的课程里,我们会利用这些知识,来亲手创建一个俄罗斯方块游戏。

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

用Scratch做一个俄罗斯方块游戏(上)

2023-7-28 8:20:26

综合资讯

Scratch被等待时间阻塞的流程

2023-7-28 8:20:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索