Project1

标题: 把下面的case…end部分改成哈希表形式 [打印本页]

作者: blueeyescyj    时间: 2015-6-1 17:53
标题: 把下面的case…end部分改成哈希表形式
RUBY 代码复制
  1. class Window_Story < Window_Selectable
  2.   def initialize
  3.     super(0, 0, Graphics.width, Graphics.height)
  4.     case $game_variables[7]
  5.     when 0
  6.       story = "显示的是剧情在第0阶段时的提示"
  7.     when 1
  8.       story = "显示的是剧情在第1阶段时的提示"
  9.     when 2
  10.       story = "显示的是剧情在第2阶段时的提示"
  11.     end
  12.     draw_text_ex(4, 0, story)
  13.     activate
  14.   end
  15. end

感觉出自F1的东西不应该拿来问,但自己尝试多次都没搞定,果然脚本还是太高端玩不起
作者: taroxd    时间: 2015-6-1 17:58
本帖最后由 taroxd 于 2015-6-1 18:07 编辑

没看懂问题,是这个意思吗?
  1. story = [
  2.   "显示的是剧情在第0阶段时的提示",
  3.   "显示的是剧情在第1阶段时的提示",
  4.   "显示的是剧情在第2阶段时的提示"
  5. ][$game_variables[7]]
复制代码
直接 case end 不是挺好么
作者: blueeyescyj    时间: 2015-6-1 18:35
本帖最后由 blueeyescyj 于 2015-6-1 18:38 编辑

RUBY 代码复制
  1. class Window_Story < Window_Selectable
  2.   def initialize
  3.     super(0, 0, Graphics.width, Graphics.height)
  4. story = {
  5. 0 => "显示的是剧情在第0阶段时的提示",
  6.   1 => "显示的是剧情在第1阶段时的提示",
  7.   2 => "显示的是剧情在第2阶段时的提示"
  8. }
  9. story[$game_variables[7]]
  10.     draw_text_ex(4, 0, story)
  11.     activate
  12.   end
  13. end

运行结果变成这样了

而case...end运行的结果是这样的

作者: blueeyescyj    时间: 2015-6-1 18:55
果然问了个很无聊的问题啊……@版主 结贴吧




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