Project1

标题: 地图显示金钱窗口。。。 [打印本页]

作者: DemonPanda    时间: 2008-3-17 01:30
标题: 地图显示金钱窗口。。。
为了实现地图显示金钱的功能,我把Scene_Map的主处理改成了以下的样子:

def main
    #生成金钱窗口
    @gold_window = Window_Gold.new
    @gold_window.x = 0
    @gold_window.y = 416
    # 生成活动块
    @spriteset = Spriteset_Map.new
    # 生成信息窗口
    @message_window = Window_Message.new
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    #释放金钱窗口
    @gold_window.update
    # 释放活动块
    @spriteset.dispose
    # 释放信息窗口
    @message_window.dispose
    # 标题画面切换中的情况下
    if $scene.is_a?(Scene_Title)
      # 淡入淡出画面
      Graphics.transition
      Graphics.freeze
    end
  end

其他的脚本没有做任何改动,可是效果完全不对:
增加金钱时,地图的金钱显示窗口没有任何变化,而按ESC回到系统菜单,然后又回到地图,地图的金钱显示窗口的金钱才改变,但是重复以上的动作,地图的金钱显示窗口里的金钱文字会叠加,请问怎么改? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: Iselia雪    时间: 2008-3-17 01:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: IamI    时间: 2008-3-17 01:32
在update里面加上他一句
@gold_window.update
出错?那就是
@gold_window.refresh
记不清了……
作者: DemonPanda    时间: 2008-3-17 01:33
请问,这是标准模式?
如果是,谢谢啦
作者: IamI    时间: 2008-3-17 01:34
小雪你有一个gole……还有就是场景切换也要处理一下
作者: Iselia雪    时间: 2008-3-17 01:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-3-17 01:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: DemonPanda    时间: 2008-3-17 01:37
貌似是释放的地方搞错了,
应该是dispose,
而update后面该加个refresh。。。
基础不牢,努力ING
谢谢了
作者: Iselia雪    时间: 2008-3-17 01:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-3-17 01:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: DemonPanda    时间: 2008-3-17 01:55
以下引用沉影不器于2008-3-16 17:46:31的发言:

不晓得可否

def main
@temp_gold = 0
#生成金钱窗口
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# 生成活动块
@spriteset = Spriteset_Map.new
# 生成信息窗口
@message_window = Window_Message.new
# 执行过渡
Graphics.transition
# 主循环
loop do
   # 刷新游戏画面
   Graphics.update
   # 刷新输入信息
   Input.update
   # 刷新画面
   update
if @temp_gold != $game_party.gold
@temp_gold = $game_party.gold
@gold_window.refresh
end
   # 如果画面切换的话就中断循环
   if $scene != self
     break
   end
end
# 准备过渡
Graphics.freeze
#释放金钱窗口
@gold_window.update
# 释放活动块
@spriteset.dispose
@gold_window.dispose
# 释放信息窗口
@message_window.dispose
# 标题画面切换中的情况下
if $scene.is_a?(Scene_Title)
   # 淡入淡出画面
   Graphics.transition
   Graphics.freeze
end
end

好像变麻烦了,不过temp_gold很有意义的{/hx}




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