Project1
标题:
脚本错误
[打印本页]
作者:
ae3175001
时间:
2013-10-4 10:38
标题:
脚本错误
$game_variables[2]=0 if $game_variables[2]==nil
$c==$game_variables[2]
复制代码
这个脚本代码在运行游戏时出现错误,这是图片
哪里出错了?
QQ截图20131004103643.jpg
(45.62 KB, 下载次数: 17)
下载附件
保存到相册
2013-10-4 10:36 上传
作者:
余烬之中
时间:
2013-10-4 11:23
1.$game_variables 在游戏运行前是未定义的,所以不能再游戏运行前操作
2.$c==$game_variables[2]这句话也错了……应该是=而不是==
######################################
详细说明:
#==============================================================================
# ■ Game_Variables
#------------------------------------------------------------------------------
# 处理变量的类。本质上是套了个壳的 Array 。本类的实例请参考 $game_variables 。
#==============================================================================
复制代码
没错,是有这个,但是$game_variables在哪里呢?
#==============================================================================
# ■ DataManager
#------------------------------------------------------------------------------
# 数据库和游戏实例的管理器。所有在游戏中使用的全局变量都在这里初始化。
#==============================================================================
复制代码
#--------------------------------------------------------------------------
# ● 生成各种游戏对象
#--------------------------------------------------------------------------
def self.create_game_objects
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_timer = Game_Timer.new
$game_message = Game_Message.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new #找到你了!
$game_self_switches = Game_SelfSwitches.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
end
复制代码
这个create_game_objects又是谁调用的呢?
#--------------------------------------------------------------------------
# ● 初始化模块
#--------------------------------------------------------------------------
def self.init
@last_savefile_index = 0
load_database
create_game_objects
setup_battle_test if $BTEST
end
复制代码
好吧,原来是这样的,可是init不会无缘无故的来
#==============================================================================
# ■ SceneManager
#------------------------------------------------------------------------------
# 场景切换的管理器。RGSS3 内置了新功能,在使用 call 方法切换新场景时,可以
# 用 return 方法返回上一个场景。
#==============================================================================
复制代码
#--------------------------------------------------------------------------
# ● 运行
#--------------------------------------------------------------------------
def self.run
DataManager.init
Audio.setup_midi if use_midi?
[url=home.php?mod=space&uid=420706]@Scene[/url] = first_scene_class.new
@scene.main while @scene
end
复制代码
原来如此,可是同理,run不会自己执行
#==============================================================================
# ■ Main
#------------------------------------------------------------------------------
# 各种定义结束后,从这里开始实际运行。
#==============================================================================
rgss_main { SceneManager.run }
复制代码
好吧,原来在所有脚本之后才有这个
##################
在脚本的最后才会生成$game_variables,所以你在它之前使用$game_variables必然是会出错的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1