Project1

标题: 请问定义方法与直接用方法有什么区别? [打印本页]

作者: DemonPanda    时间: 2009-8-19 22:51
标题: 请问定义方法与直接用方法有什么区别?
就是雪流星的这段看不懂……
有没有注意到,取消的时候,也是调用return_scene这个方法。那又如何?还不是只有一句脚本而已?有什麽差别? 差别就是:现在我们的脚本虽然只有调用了这句脚本两次,但是假如有一天,我们的脚本变成了「裹脚布」(又臭又长)的时候每次要回去菜单画面就要打一次$scene = Scene_Menu.new(5) 然後我们在菜单的命令窗口又增加了新的选项,於是「离开游戏」就往下掉,我们就要把所有的 $scene = Scene_Menu.new(5)改成$scene = Scene_Menu.new(6) 然後我们在菜单的命令窗口又增加了新的选项,於是「离开游戏」就又往下掉,我们又要把所有的 $scene = Scene_Menu.new(6)改成$scene = Scene_Menu.new(7) …………………..重复n次结果可以想像了吧….
作者: DemonPanda    时间: 2009-8-19 23:03
标题: 关于Scene_Menu的问题
就是雪流星的这段看不懂……
有没有注意到,取消的时候,也是调用return_scene这个方法。那又如何?还不是只有一句脚本而已?有什麽差别? 差别就是:现在我们的脚本虽然只有调用了这句脚本两次,但是假如有一天, ...
DemonPanda 发表于 2009-8-19 22:51

作者: 紫苏    时间: 2009-8-19 23:15
意思是说,把 $scene = Scene_Menu.new(n) 的操作定义在 return_scene 中,当你需要修改 n 的值的时候,只需要修改 return_scene 中的定义就行了,一劳永逸~
而如果不调用 return_scene,每次都直接执行 $scene = Scene_Menu.new(n) 的话,一旦 n 的值需要修改,就需要找到所有执行这一行的地方,并修改 n 的值,很明显这将降低编程的效率~

我们写程序时会经常定义常量或者宏,然后在程序的多处都用到了这个常量/宏的值,之后如果需要修改这个常量的值,只需要改定义常量的地方即可,而不需要找到所有用到这个常量的地方去一一修改,这也和上面提到的方法定义同理
作者: DemonPanda    时间: 2009-8-20 18:46
哦,我突然明白咧,谢紫苏大大喔~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1