generator介绍
在NormaConstructor,每一种功能(如“两点生成”、“复制粘贴”)背后都是一个"generator"。一个generator保存四类数据:
position:位置信息
blockType:方块种类
direction:(玩家)朝向信息
option:generator自设的更多数据(例如"造马路"中,指定长度和马路类型等)
保存这四个数据后,generate函数会根据这些数据生成一份blockArray——顾名思义,里面全都是block(之后会提到block这一数据体)。这一block发送至server,由server生成。
(不少事情是只有server的脚本能做的,比如放置方块不能由client执行。)
……如果上面这些没有把你绕晕,那么你可以迎接下面这个:
这便是generator的原型。每次添加一个新功能,你需要:
new一个generator,
填入所有参数,
将其push入generatorArray
(可能需要注意的是,generatorArray里的各个generator是独立的,你的代码中不应该依赖于某个generator的index,因为这很可能改变。)
我的做法是利用js的立即调用函数表达式:
将其写在client.js的最后。(方便折叠)
现在,我将依次介绍这些参数。
最后更新于