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

Project1

 找回密码
 注册会员
搜索

刚在学习窗口脚本,碰到了个问题请教一下

查看数: 1358 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-8-3 12:14

正文摘要:

有设置了一个变量用于控制时段,不过只有变量值为0的时候才显示“上午”,其余均没有显示 是不是我本身的方式就不对了,情况如下所示,烦请指教一下。class Window_day < Window_Base      def in ...

回复

机械守护者 发表于 2014-8-3 17:23:21
你为什么不直接丢在update里面(ΦωΦ)
喵呜喵5 发表于 2014-8-3 12:49:41
本帖最后由 喵呜喵5 于 2014-8-3 12:52 编辑

case的用法搞错了,你原本的代码中只有case when 0的时候才执行第二个draw_text方法,代码改成下面这样
  1.   def refresh
  2.     self.contents.clear
  3.     self.contents.draw_text(0, 0, 100, 24, "第#{$game_variables[98]}天")
  4.     case $game_variables[99]
  5.     when 3
  6.       a1 = "深夜"
  7.     when 2
  8.       a1 = "夜晚"
  9.     when 1
  10.       a1 = "下午"
  11.     when 0
  12.       a1 = "上午"
  13.     else
  14.       a1 = nil
  15.     end
  16.     self.contents.draw_text(0, 32, 100, 24, a1) if a1
  17.   end
复制代码
或者这样

RUBY 代码复制
  1. def refresh
  2.     self.contents.clear
  3.     self.contents.draw_text(0, 0, 100, 24, "第#{$game_variables[98]}天")
  4.     case $game_variables[99]
  5.     when 3
  6.       a1 = "深夜"
  7.       self.contents.draw_text(0, 32, 100, 24, a1)
  8.     when 2
  9.       a1 = "夜晚"
  10.       self.contents.draw_text(0, 32, 100, 24, a1)
  11.     when 1
  12.       a1 = "下午"
  13.       self.contents.draw_text(0, 32, 100, 24, a1)
  14.     when 0
  15.       a1 = "上午"
  16.       self.contents.draw_text(0, 32, 100, 24, a1)
  17.     end   
  18.   end


另外描绘文字需要花费一定的时间,因此refresh不建议放到update里面实时刷新,只有当这两个变量发生改变的时候再刷新

点评

十分感谢!我明白错在哪个地方了  发表于 2014-8-3 13:48

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 耐心讲解case,when的用法对新手帮助很大.

查看全部评分

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

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

GMT+8, 2024-11-15 15:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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