Behaviors之所以如此强大,就在于它可以由一位开发者创建,而被多人使用,因此,一个有代表性的behavior应该可以被众开发者使用,而其中可能有一些非lingo程序员。
以下就是提供给开发者的一些非常有用的指导,以便于可以开发出可供多人使用的behavior。
1. 将behavior保存在独立的cast库中,这样可以很容易地分发给其他使用者,而不会因为意外而破坏原behavior。
2. 提供一个readme文件用来描述所有的behavior,建议在这个cast的首位置放置一个field成员来充当readme文件。虽然我们可以在behavior检查器之中查看这个behavior的描述,但是直接查看整体的描述文件要比单独地看某个描述要轻松得多。
3. 提供一个注释块,用来描述behavior的整体架构和一些知道用户修改的提示。一般来说,这个注释块放在每一个script之前。此注释块应该包括:
a) 提供给其他开发者的建议以便于其他开发者对其进行二次开发(此用户不是最终使用者)。
b) 尽量向用户详细地描述此behavior中所调用的外部句柄,以及这些句柄的工作流程,这样对那些刚开始学习script的用户很有帮助。
4. 尽量使behavior中的lingo程序通俗易懂,对于复杂一些的behavio,在其中添加内建的错误检查是有难度的。例如,一个超文件的behavior可能需要判断是否本behavior被添加到一个field精灵上。注意,添加的程序越多,这个程序的易读性就越差,因此需要更多简洁明了的注释。有时,你可以在behavior刚开始时使用一个独立的错误检查程序来实现这个功能,这样你只要在每个script之后放一小段相关程序即可。
5. 尽可能将一个behavior的属性和全局变量封装在一起。behavior是可能被应用在很多不同的环境当中,所以这个behavior封装的东西越多就越好。如果不同behavior中的全局变量很凑巧的有着相同的名字,那么就很有可能产生干涉而导致错误。解决这个问题的最好办法就是尽可能地给全局变量起很特殊的名字,比如gCurrentPositionVariableNumber23 ,如果数据必须是在script外部的话,就考虑为整个behavior库创建一个单独的全局变量表,表中的属性就是变量,这样无论这个库中用了多少变量,都只需声明这样的一个变量表即可。
6. 在调用外部句柄时使用唯一的ID。例如,thesendAllsprites命令给所有的当前精灵传递一个参数。当不同的behavior中存在相同名称的句柄时,可能会导致错误。避免这种错误的方法就是尽量不使用简单的句柄名,这样就不会在不同的开发者之间发生命名重复。例如:如果用eamDeveloperInit来代替Init,就极少会和其他开发者发生命名重复。
楼主热帖