Project1

标题: 新人关于脚本的菜鸟问题…… [打印本页]

作者: seasoneast    时间: 2010-8-6 17:38
标题: 新人关于脚本的菜鸟问题……
下面两段代码,为什么第一个显示有错误,而第二个没事~?
  1.   #--------------------------------------------------------------------------
  2.   # ● 命令 : 改变字体为宋体
  3.   #--------------------------------------------------------------------------
  4.   def command_font_song
  5.     # 演奏确定 SE
  6.     $game_system.se_play($data_system.decision_se)
  7.     # 改变字体为宋体
  8.     Font.default_name = (["宋体"])
  9.         @command_window.dispose
  10.     @font_window.dispose
  11.     # 生成命令窗口
  12.     s1 = "新游戏"
  13.     s2 = "继续"
  14.     s3 = "改变字体"
  15.     s4 = "退出"
  16.     @command_window = Window_Command.new(192, [s1, s2, s3, s4])
  17.     @command_window.back_opacity = 160
  18.     @command_window.x = 320 - @command_window.width / 2
  19.     @command_window.y = 288
  20.     # 生成命令窗口
  21.     s1 = "宋体"
  22.     s2 = "方正水柱简体"
  23.     s3 = "方正小篆体"
  24.     s4 = "方正铁筋隶书繁体"
  25.     @font_window = Window_Command.new(192, [s1, s2, s3, s4])
  26.     @font_window.back_opacity = 160
  27.     @font_window.x = 320 - @font_window.width / 2
  28.     @font_window.y = 288
  29.     @font_window.active = false
  30.     @font_window.visible = false
  31.     # 判定继续的有效性
  32.     # 存档文件一个也不存在的时候也调查
  33.     # 有効为 @continue_enabled 为 true、無効为 false
  34.     @continue_enabled = false
  35.     for i in 0..3
  36.       if FileTest.exist?("Save#{i+1}.rxdata")
  37.         @continue_enabled = true
  38.       end
  39.     end
  40.     # 继续为有效的情况下、光标停止在继续上
  41.     # 无效的情况下、继续的文字显示为灰色
  42.     if @continue_enabled
  43.       @command_window.index = 1
  44.     else
  45.       @command_window.disable_item(1)
  46.     end
  47.     # 演奏标题 BGM
  48.     $game_system.bgm_play($data_system.title_bgm)
  49.     # 停止演奏 ME、BGS
  50.     Audio.me_stop
  51.     Audio.bgs_stop
  52.     # 执行过渡
  53.     Graphics.transition
  54.     # 主循环
  55.     loop do
  56.       # 刷新游戏画面
  57.       Graphics.update
  58.       # 刷新输入信息
  59.       Input.update
  60.       # 刷新画面
  61.       update
  62.       # 如果画面被切换就中断循环
  63.       if $scene != self
  64.         break
  65.       end
  66.     end
  67.     # 装备过渡
  68.     Graphics.freeze
  69.     # 释放命令窗口
  70.     @command_window.dispose
  71.     @font_window.dispose
  72.     # 释放标题图形
  73.     @sprite.bitmap.dispose
  74.     @sprite.dispose
  75.   end
复制代码
  1. #--------------------------------------------------------------------------
  2.   # ● 命令 : 改变字体为宋体
  3.   #--------------------------------------------------------------------------
  4.   def command_font_song
  5.     # 演奏确定 SE
  6.     $game_system.se_play($data_system.decision_se)
  7.     # 改变字体为宋体
  8.     Font.default_name = (["宋体"])
  9.         @command_window.dispose
  10.     @font_window.dispose
  11.     # 生成命令窗口
  12.     s1 = "新游戏"
  13.     s2 = "继续"
  14.     s3 = "改变字体"
  15.     s4 = "退出"
  16.     @command_window = Window_Command.new(192, [s1, s2, s3, s4])
  17.     @command_window.back_opacity = 160
  18.     @command_window.x = 320 - @command_window.width / 2
  19.     @command_window.y = 288
  20.     # 生成命令窗口
  21.     s1 = "宋体"
  22.     s2 = "方正水柱简体"
  23.     s3 = "方正小篆体"
  24.     s4 = "方正铁筋隶书繁体"
  25.     @font_window = Window_Command.new(192, [s1, s2, s3, s4])
  26.     @font_window.back_opacity = 160
  27.     @font_window.x = 320 - @font_window.width / 2
  28.     @font_window.y = 288
  29.     @font_window.active = false
  30.     @font_window.visible = false
  31.     # 判定继续的有效性
  32.     # 存档文件一个也不存在的时候也调查
  33.     # 有効为 @continue_enabled 为 true、無効为 false
  34.     @continue_enabled = false
  35.     for i in 0..3
  36.       if FileTest.exist?("Save#{i+1}.rxdata")
  37.         @continue_enabled = true
  38.       end
  39.     end
  40.     # 继续为有效的情况下、光标停止在继续上
  41.     # 无效的情况下、继续的文字显示为灰色
  42.     if @continue_enabled
  43.       @command_window.index = 1
  44.     else
  45.       @command_window.disable_item(1)
  46.     end
  47.     # 演奏标题 BGM
  48.     $game_system.bgm_play($data_system.title_bgm)
  49.     # 停止演奏 ME、BGS
  50.     Audio.me_stop
  51.     Audio.bgs_stop
  52.     # 执行过渡
  53.     Graphics.transition
  54.     # 主循环
  55.     loop do
  56.       # 刷新游戏画面
  57.       Graphics.update
  58.       # 刷新输入信息
  59.       Input.update
  60.       # 刷新画面
  61.       update
  62.       # 如果画面被切换就中断循环
  63.       if $scene != self
  64.         break
  65.       end
  66.     end
  67.     # 装备过渡
  68.     Graphics.freeze
  69.   end
复制代码

作者: 阿冷    时间: 2010-8-6 18:00
先问一下,这个转换字体的脚本是在scene里而且有main吗?
有main的话在main里dispose,没有就一定要加。
作者: seasoneast    时间: 2010-8-6 19:10
回复 阿冷 的帖子

不好意思能不能具体一点~?两段脚本只有最后两行有不同,就是想搞清楚测试一个正常一个错误的原因~麻烦你了~
作者: 小幽的马甲    时间: 2010-8-6 19:17
你确定你有@command_window、@font_window、 @sprite三个变量么……
作者: seasoneast    时间: 2010-8-6 19:19
回复 小幽的马甲 的帖子

都是有的~发上来的代码只是其中一段~




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