查看: 1910|回复: 3

[已经解决] 把下面的case…end部分改成哈希表形式

[复制链接]
梦石
0
星屑
50
在线时间
274 小时
注册时间
2013-12-14
回帖
89
发表于 2015-6-1 17:53:52 | 显示全部楼层 |阅读模式

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

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

×
[pre lang="ruby"]class Window_Story < Window_Selectable
  def initialize
    super(0, 0, Graphics.width, Graphics.height)
    case $game_variables[7]
    when 0
      story = "显示的是剧情在第0阶段时的提示"
    when 1
      story = "显示的是剧情在第1阶段时的提示"
    when 2
      story = "显示的是剧情在第2阶段时的提示"
    end
    draw_text_ex(4, 0, story)
    activate
  end
end
[/pre]
感觉出自F1的东西不应该拿来问,但自己尝试多次都没搞定,果然脚本还是太高端玩不起

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-6-1 17:58:38 | 显示全部楼层
本帖最后由 taroxd 于 2015-6-1 18:07 编辑

没看懂问题,是这个意思吗?
  1. story = [
  2.   "显示的是剧情在第0阶段时的提示",
  3.   "显示的是剧情在第1阶段时的提示",
  4.   "显示的是剧情在第2阶段时的提示"
  5. ][$game_variables[7]]
复制代码
直接 case end 不是挺好么

点评

我把我写的贴在下一楼,请你看看哪里出了问题吧  发表于 2015-6-1 18:34
已经试过这么写了……结果不行啊  发表于 2015-6-1 18:29
大致就是我这层代码这个意思。用哈希表就是 0=>"..",1=>".." 会更清楚一些  发表于 2015-6-1 18:08
F1里说可以用哈希表写,然后各种尝试都不行.....  发表于 2015-6-1 18:04

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
274 小时
注册时间
2013-12-14
回帖
89
 楼主| 发表于 2015-6-1 18:35:18 | 显示全部楼层
本帖最后由 blueeyescyj 于 2015-6-1 18:38 编辑

[pre lang="ruby"]class Window_Story < Window_Selectable
  def initialize
    super(0, 0, Graphics.width, Graphics.height)
story = {
0 => "显示的是剧情在第0阶段时的提示",
  1 => "显示的是剧情在第1阶段时的提示",
  2 => "显示的是剧情在第2阶段时的提示"
}
story[$game_variables[7]]
    draw_text_ex(4, 0, story)
    activate
  end
end[/pre]
运行结果变成这样了
2.png
而case...end运行的结果是这样的
1.png

点评

(╯‵□′)╯︵┻━┻原来是这个地方啊  发表于 2015-6-1 18:54
draw_text_ex(4, 0, story[$game_variables[7]])  发表于 2015-6-1 18:47
回复

使用道具 举报

梦石
0
星屑
50
在线时间
274 小时
注册时间
2013-12-14
回帖
89
 楼主| 发表于 2015-6-1 18:55:51 | 显示全部楼层
果然问了个很无聊的问题啊……@版主 结贴吧
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部