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

Project1

 找回密码
 注册会员
搜索

[已解决]Window_Base中描绘HP组合代码怎么解读?

查看数: 3075 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-4-17 19:57

正文摘要:

本帖最后由 miantouchi 于 2019-4-17 21:04 编辑 RUBY 代码复制# 描绘 HP    self.contents.font.color = actor.hp == 0 ? knockout_color :      actor. ...

回复

soulsaga 发表于 2019-4-18 12:50:39
本帖最后由 soulsaga 于 2019-4-18 12:53 编辑

RUBY 代码复制
  1. self.contents.font.color = actor.hp == 0 ? 前面=代入的返回值 否则  actor.hp <= actor.maxhp / 4 ? 前面=代入的返回值 否则 前面=代入的返回值


self.contents.font.color = 后面条件运算其中一个的返回值..
所以从左至右self.contents.font.color = 是放在最后的..

点评

表达式写长了,直接就蒙了,感谢分解分析  发表于 2019-4-20 07:07
活气寒露 发表于 2019-4-17 20:53:01
本帖最后由 活气寒露 于 2019-4-17 20:56 编辑

RUBY 代码复制
  1. self.contents.font.color = actor.hp == 0 ? knockout_color :  actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color

简单的问号冒号表达式,从左到右。a ? b : c ? d : e
如hp=0时,显示红色,否则,后面的再判断hp这样。

点评

哈哈,你这么写我明白了  发表于 2019-4-17 21:03
guoxiaomi 发表于 2019-4-17 20:27:11
  1. if (actor.hp == 0)
  2.   self.contents.font.color = knockout_color
  3. else
  4.   if (actor.hp <= actor.maxhp / 4)
  5.     self.contents.font.color = crisis_color
  6.   else
  7.     self.contents.font.color = normal_color
  8.   end
  9. end
  10. self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
复制代码

点评

适用,但是这里是调用了color=(some_color)方法,后面的三元表达式是some_color的值  发表于 2019-4-17 23:56
从左往右不适合self.contents.font.color = actor.hp这样吗?  发表于 2019-4-17 20:50
从左到右  发表于 2019-4-17 20:49
哦,代码看明白了。actor.hp == 0这段为什么先判断?  发表于 2019-4-17 20:45
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-30 17:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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