Project1

标题: 用脚本建立一个窗口的问题 [打印本页]

作者: anzhongyang    时间: 2010-8-1 10:10
标题: 用脚本建立一个窗口的问题
按照脚本教程里的,我做了一个这个
class Window_Xuexi < Window_Base
  def initialize
    super(0, 0, 640, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
end
  def refresh 
    self.contents.clear 
    self.contents.draw_text(64, 48, 200, 32, "我做出窗口来啦~")
end
end


然后又做了一个这个

class Scene_Xuexi
  def main 
    @xuexi_window = Window_Xuexi.new
    @xuexi_window.x = 0
    @xuexi_window.y = 0
    @xuexi_window.opacity = 160
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
      end
    Graphics.freeze
    @xuexi_windows.dispose
  end
  
  
  def update
    @xuexi_windows.update
    if Input.trigger?(Input::B)
            # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换的地图画面
      $scene = Scene_Map.new
      return
    end
  end
end

在然后在地图上加了个事件      $scene = Scene_Xuexi.new


然后就显示这个了



如何解决啊
作者: 菜鸟飞呀飞    时间: 2010-8-1 10:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: anzhongyang    时间: 2010-8-1 11:06
改了以后依然不好使啊
作者: zhangbanxian    时间: 2010-8-1 11:15
报错信息看应该是Scene_Xuexi没有定义main方法,不过从你这上面看貌似是定义了的,会不会是误删了- -b
作者: bbaugle    时间: 2010-8-1 11:47
本帖最后由 bbaugle 于 2010-8-1 11:49 编辑
  1. class Window_Xuexi < Window_Base
  2.   def initialize
  3.     super(0, 0, 640, 64)
  4.     self.contents = Bitmap.new(width - 32, height - 32)
  5.     refresh
  6.   end
  7.   def refresh  
  8.     self.contents.clear
  9.     self.contents.draw_text(64, 0, 200, 32, "我做出窗口来啦~")
  10.   end
  11. end
  12. class Scene_Xuexi
  13.   def main
  14.     @e = Window_Xuexi.new
  15.     @e.x=0
  16.     @e.y=0
  17.     @e.z=1000
  18.     loop do
  19.       Graphics.update
  20.       Input.update
  21.       update
  22.       if $scene != self
  23.         break
  24.       end
  25.     end
  26.     @e.dispose
  27.   end
  28.   def update
  29.     @e.update
  30.     if Input.trigger?(Input::B)
  31.       $game_system.se_play($data_system.cancel_se)
  32.       $scene = Scene_Map.new
  33.       return
  34.     end
  35.   end
  36. end
复制代码
完成。经测试,可用。
作者: kikudukuri    时间: 2010-8-1 13:52
完成。经测试,可用。
bbaugle 发表于 2010-8-1 11:47
loop do 前面少了个Graphics.transition (估计是打的时候粗心了吧)  测试确实能通过(ESC两次才能退出?)



作者: bbaugle    时间: 2010-8-1 15:23
loop do 前面少了个Graphics.transition (估计是打的时候粗心了吧)  测试确实能通过(ESC两次才能退出? ...
kikudukuri 发表于 2010-8-1 13:52

额。我只按了一下就返回了


作者: 银元    时间: 2010-8-1 15:25
不错~!
作者: kikudukuri    时间: 2010-8-1 15:35
额。我只按了一下就返回了
bbaugle 发表于 2010-8-1 15:23
不好意思,是我囧了(事件弄冲突了),此脚本无误。



作者: bbaugle    时间: 2010-8-1 15:50
额..................................
作者: anzhongyang    时间: 2010-8-1 18:44
问题已经解决,谢谢各位了




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