#22001/5/19 20:35:01
(第一次翻译外文资料,有误之处,多多指教阿。^_^)
如何做一个好behavior的指导
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程序通俗易懂.对于复杂一些地behavior,在其中添加内建的错误检查是有难度的.例如,一个超文件的behavior可能需要判断是否本behavior被添加到一个field精灵上.注意:添加的程序越多,这个程序的易读性就越差,因此需要更多简洁明了的注释.有时,你可以在behavior刚开始时使用一个独立的错误检查程序来实现这个功能,这样你只要在每个script之后放一小段相关程序即可.
5,尽可能将一个behavior的属性和全局变量封装在一起,behavior是可能被应用在很多不同的环境当中,所以这个behavior封装的东西越多就越好.如果不同behavior中的全局变量很凑巧的有着相同的名字,那么就很有可能产生干涉而导致错误.解决这个问题的最好办法就是尽可能地给全局变量起很特殊的名字,比如gCurrentPositionVariableNumber23 ,如果数据必须是在script外部的话,就考虑为整个behavior库创建一个单独的全局变量表,表中的属性就是变量,这样无论这个库中用了多少变量,都只需声明这样的一个变量表即可.
6,在调用外部句柄时使用唯一的ID,例如,thesendAllsprites命令给所有的当前精灵传递一个参数.当不同的behavior中存在相同名称的句柄时,可能会导致错误.避免这种错误的方法就是尽量不使用简单的句柄名,这样就不会在不同的开发者之间发生命名重复.例如:如果用teamDeveloperInit来代替Init,就极少会和其他开发者发生命名重复.