查看: 1586|回复: 1

[已经解决] 三重判断语句怎么写?

[复制链接]
梦石
0
星屑
50
在线时间
5 小时
注册时间
2012-8-13
回帖
3
发表于 2012-8-19 13:02:34 | 显示全部楼层 |阅读模式

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

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

×
比如70%HP变成黄色 30%变成红色。变一次我成功了 变二次就出错,我不知道脚本语言用C++语言出错。。求指点
gie=actor.hp.to_f/actor.maxhp.to_f
      if gie<0.7
      color=Color.new(100,150,150,255)
      if gie<0.3
      color=Color.new(255,0,0,255)
      else
      color=Color.new(100,250,100,255)
      end
就是<0.3那句不会写,我也不知道要用什么关键字。

点评

少了一个end?  发表于 2012-8-19 13:10
梦石
0
星屑
3703
在线时间
3081 小时
注册时间
2011-11-17
回帖
943
发表于 2012-8-19 15:09:42 | 显示全部楼层
本帖最后由 yagami 于 2012-8-19 15:22 编辑

gie=actor.hp.to_f/actor.maxhp.to_f
      if gie<0.7 and gie >= 0.3
      color=Color.new(100,150,150,255)
      elsif gie<0.3
      color=Color.new(255,0,0,255)
      else
      color=Color.new(100,250,100,255)
      end
并列写法

gie=actor.hp.to_f/actor.maxhp.to_f
      if gie<0.7
            if gie<0.3
      color=Color.new(255,0,0,255)
else
color=Color.new(100,150,150,255)
end
      else
      color=Color.new(100,250,100,255)
      end
包含写法


gie=actor.hp.to_f/actor.maxhp.to_f  * 10
case gie
when 0..3
  color=Color.new(255,0,0,255)
when 4..7
  color=Color.new(100,150,150,255)
      else
   color=Color.new(100,250,100,255)
      end

还有种CASE也能到达一样的效果




评分

参与人数 1星屑 +200 收起 理由
hcm + 200 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部