游戏对象的内容:
数据库原则上在游戏过程中是不会被写入的,而针对地图上人物的走动等等情况,发生变化的是游戏对象。
在Scene_Title脚本中,会生成各种游戏对象,比如command_new_game的方法就是其中的一个,这个方法是在选择了标题画面中的[新的游戏]的时候被运行的。
# 生成各种游戏对象
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
和数据库中的$data_xxxx变量相同,这里的$game_xxxx也是全局变量。像Game_xxxx这样的名字应该认识吧,如果不认识,把脚本目录拉到最上面,看到了吗,这里的游戏对象正是上面的那些游戏脚本中定义的类的实例。
游戏对象的内容如下,和数据库的情况不同,这些对象所属的类不是RGSS系统预设,而是在脚本中定义的:
变量 名称 类
$ game_temp 临时数据 Game_Temp
$ game_system 系统数据 Game_System
$ game_switches 开关 Game_Switches
$ game_variables 变量 Game_Variables
$ game_self_switches 自我开关 Game_SelfSwitches
$ game_screen 画面效果 Game_Screen
$ game_actors 角色 Game_Actors
$ game_party 派对 Game_Party
$ game_troop 军队 Game_Troop
$ game_map 地图 Game_Map
$ game_player 玩家 Game_Player
这些类原则上只提供数据构造,而不具备处理画面或者接受键盘输入的功能,不过Game_Player类可以处理方向键和回车键。
其实上面的这些对象内部进一步包含着另外的类的对象:
Game_Picture 在 Game_Screen 内部使用
Game_Actor 在 Game_Actors 内部使用
Game_Enemy 在 Game_Troop 内部使用
Game_CommonEvent 在 Game_Map 内部使用
Game_Event 在 Game_Map 内部使用
还有两个重要的类要介绍,它们的分量很多,多数脚本都继承它们
Game_Battler 作为 Game_Actor类和Game_Enemy类的超级类
Game_Character作为Game_Player类和Game_Event类的超级类
所谓超级类就是父类,因为在Actor和Enemy,Player和Event当中都有各自相同的性质,所以要给它们一个共同的父类。
Game_BattleAction类在Game_Battler内部使用
这个类担当战斗中的行动(动作)的功能处理,被Battler的内部调用。
版权声明:RUBY文档中心的所有文章标明[原创]的均为本站作品,版权属RUBY中文化计划,若转载请注明;标明[翻译]的其外文版权归原作者,译文版权属RUBY中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。