15、游戏对象

原创:夏克  发表时间:2005-6-3 2:20:13  点击次数:255

   
游戏对象的内容: 

数据库原则上在游戏过程中是不会被写入的,而针对地图上人物的走动等等情况,发生变化的是游戏对象。

在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中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。
 

 

 

版权所有(C) RUBY中文化计划