设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 764|回复: 1
打印 上一主题 下一主题

写脚本时遇到的问题

 关闭 [复制链接]

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

跳转到指定楼层
1
发表于 2008-12-19 18:41:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
有人问银行系统,主站上搜索银行3个结果
一个VX的 一个物品银行  一个纯事件的教程
自己可能会需要,就顺便写了一个
总体上已经完成
但是有个效果始终无法解决!

我描绘一个银行的窗口。一个数值输入的窗口。和银行Scene
2个窗口都是Selectable的子类
进入Scene的时候显示银行窗口。输入窗口不可见
选择输入数值才会显示输入窗口并激活
当输入完毕后按C键的时候出了问题!
我想要的效果是按下C键,输入窗口不可见,回到银行窗口
但是不管我怎么弄仿佛那3行脚本就是个摆设一样(没有被执行)
数值输入完毕按C键,输入窗口还是保持原样
很闷……
谁帮我看看{/hx}
那3行脚本是
@shuru_window.active = false
@shuru_window.visible = false
@bank_window.active = true
在方法的最下面
这是方法
  def update
    @bank_window.update if @bank_window.active == true
    @shuru_window.update if @shuru_window.active == true
    update_shuru if @shuru_window.active == true
    if @bank_window.active == true
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        case @bank_window.index
        when 0
          @bank_window.active = false
          @shuru_window.active = true
          @shuru_window.visible = true
          return
        when 1
          @bank_window.active = false
          @shuru_window.active = true
          @shuru_window.visible = true
          return
        when 2
          $scene = Scene_Map.new
          return
        end
      end
    end
  end

  def update_shuru
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @shuru_window.active = false
      @shuru_window.visible = false
      @bank_window.active = true
      return
    end
    if Input.trigger?(Input::UP)
      $game_system.se_play($data_system.cursor_se)
      case @shuru_window.index
      when 0
        $s1 += 1
        $s1 = 0 if $s1 > 9
        @shuru_window.refresh
      when 1
        $s2 += 1
        $s2 = 0 if $s2 > 9
        @shuru_window.refresh
      when 2
        $s3 += 1
        $s3 = 0 if $s3 > 9
        @shuru_window.refresh
      when 3
        $s4 += 1
        $s4 = 0 if $s4 > 9
        @shuru_window.refresh
      when 4
        $s5 += 1
        $s5 = 0 if $s5 > 9
        @shuru_window.refresh
      when 5
        $s6 += 1
        $s6 = 0 if $s6 > 9
        @shuru_window.refresh
      when 6
        $s7 += 1
        $s7 = 0 if $s7 > 9
        @shuru_window.refresh
      when 7
        $s8 += 1
        $s8 = 0 if $s8 > 9
        @shuru_window.refresh
      end
    end
    if Input.trigger?(Input::DOWN)
      $game_system.se_play($data_system.cursor_se)
      case @shuru_window.index
      when 0
        $s1 -= 1
        $s1 = 9 if $s1 < 0
        @shuru_window.refresh
      when 1
        $s2 -= 1
        $s2 = 9 if $s2 < 0
        @shuru_window.refresh
      when 2
        $s3 -= 1
        $s3 = 9 if $s3 < 0
        @shuru_window.refresh
      when 3
        $s4 -= 1
        $s4 = 9 if $s4 < 0
        @shuru_window.refresh
      when 4
        $s5 -= 1
        $s5 = 9 if $s5 < 0
        @shuru_window.refresh
      when 5
        $s6 -= 1
        $s6 = 9 if $s6 < 0
        @shuru_window.refresh
      when 6
        $s7 -= 1
        $s7 = 9 if $s7 < 0
        @shuru_window.refresh
      when 7
        $s8 -= 1
        $s8 = 9 if $s8 < 0
        @shuru_window.refresh
      end
    end
    if Input.trigger?(Input::C)
      $s9=$s1*10000000+$s2*1000000+$s3*100000+$s4*10000+$s5*1000+$s6*100+$s7*10+$s8
      case @bank_window.index
      when 0
        if $s9 > $game_party.gold
          $game_system.se_play($data_system.buzzer_se)
          return
        else
          $game_system.se_play($data_system.decision_se)
          @shuru_window.active = false
          @shuru_window.visible = false
          @bank_window.active = true

          $game_party.lose_gold($s9)
          $game_variables[11] += $s9
          @bank_window.refresh
        end
      when 1
        if $s9 > $game_variables[11]
          $game_system.se_play($data_system.buzzer_se)
          return
        else
          $game_system.se_play($data_system.decision_se)
          @shuru_window.active = false
          @shuru_window.visible = false
          @bank_window.active = true

          $game_party.gain_gold($s9)
          $game_variables[11] -= $s9
          @bank_window.refresh
        end
      end
      return
    end
  end











你知道得太多了

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
 楼主| 发表于 2008-12-20 05:52:10 | 只看该作者
沉底了!
换了一种方法实现了效果
只是不明白为什么会出现主楼的这样的情况
脚本又没有写错











你知道得太多了

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-20 07:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表