血染瞳孔吧 关注:2贴子:78
  • 2回复贴,共1

RGSS1运行流程(3)

只看楼主收藏回复

Scene_Title构建标题画面、设置全局变量。最初被外部调用的是实例方法main【Main的$scene.main】。首先判断目前运行的游戏是否为战斗测试,若是的话就此转到另一个实例方法,若不是则开始执行正式游戏的相关指令。读取数据库,从而将各种内容赋予相应的全局变量,并创建Game_System对象然后赋予全局变量,这些全局变量都是游戏主体开始之后将被访问的。接下来真正开始对标题画面的建设。以sprite对象生成标题画面背景图,然后设置主菜单按钮的文字内容,并将之作为参数生成按钮。判断是否有存档以确定“继续游戏”按钮是否可用,而且在可选时会让光标默认圈中它。调用Game_System#bgm_play播放背景乐(若参数的值为nil则视作不播放)。调用Audio模块方法停止ME和BGS两种音效(用于从游戏内返回主菜单的情况)。解冻画面(承接了外部调用此方法前的冻结)。用循环体刷新画面。在循环体之后,冻结画面,释放按钮@command_window和背景图@sprite。


IP属地:河北1楼2016-02-18 17:59回复
    ·从窗口到按钮:字符串要显示在画面上,需要先建立窗口(无论形制如何),然后将文字置入。Window(内部类)有子类Window_Base,其下子类Window_Selectable,其下子类Window_Command。相关数据当中,窗口坐标(即它在整个画面上的位置)和窗口的宽高(横宽竖高)作为属性都在Window中定义;窗口的皮肤(即其边底图样)在Window_Base的构造方法中读取自数据库(这个属性已在Window中定义);对于有光标(即发亮的框)存在的窗口,光标的位置代号作为属性在Window_Selectable中定义(名为index);命令窗口(即呈现按钮的窗口)的文字内容(一个包含了若干String对象的数组)由Window_Command的构造方法的第二个参数接收;命令窗口的宽度由Window_Command在构造方法中自行计算。


    IP属地:河北3楼2016-02-18 17:59
    回复
      s1 = "新游戏"
      s2 = "继续"
      s3 = "退出"
      @command_window = Window_Command.new(192, [s1, s2, s3])
      @command_window.back_opacity = 160
      @command_window.x = 320 - @command_window.width / 2
      @command_window.y = 288


      IP属地:河北4楼2016-02-18 18:00
      回复