Project1

标题: 请教一个判断语句。 [打印本页]

作者: pinko    时间: 2009-2-12 04:00
标题: 请教一个判断语句。
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color

这段语句是如果当前角色HP为0时则使用特殊颜色,如果不是则使用普通颜色。

我想重新定义一下判断。如果当前角色为玩家操作角色时则使用特殊颜色,如果不是(即敌人)则使用普通颜色。

请教如何定义. [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 玄月    时间: 2009-2-12 04:31
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
首先这句话是改动字体颜色用的,大概是这个意思
如果角色HP为0的时候,本身的字体颜色等于战斗不能颜色“?”这个问号就是让系统判断是不是HP等于零 而“:”应该是否则的意思,相当于else(没看过这个的说明 - - )

这句话也可以这么写
if self.actor.hp == 0
self.contents.font.color = knockout_color
else
self.contents.font.color = normal_color
end
好像有个地方有错误,不过大致上没问题的,按照这个思路LZ一定能做出自己想要的效果
作者: jbfc    时间: 2009-2-12 04:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: 玄月    时间: 2009-2-12 05:27
以下引用jbfc于2009-2-11 20:38:50的发言:


以下引用玄月于2009-2-11 20:31:51的发言:

if self.actor.hp == 0



囧囧,看到这句让我想到了中式英语

=================防水补丁=======================
刚才出错了 = =|||

如果当前角色为玩家操作角色时则使用特殊颜色,如果不是(即敌人)则使用普通颜色。
到底是除了操作角色外,其他都为普通,还是敌人都是普通,而我方队伍都为特殊

我猜想LZ说的是第一种
refresh中传递一个参数active_battler.id
id == actor.id ? define_color : normal_color


[本贴由作者于 2009-2-11 20:49:49 最后编辑]

我弄脚本跟英语扯不上一点关系
作者: pinko    时间: 2009-2-12 06:08
感谢LS几位的解答。
确实是我的说法不太谨慎。我想要的效果是我方队员一种颜色,敌方一种颜色。
我希望在这条语句的基础上进行修改。谢谢。
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
作者: dna_7086    时间: 2009-2-12 07:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: pinko    时间: 2009-2-12 16:38
以下引用dna_7086于2009-2-11 23:24:55的发言:

你有没有用什么脚本?
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
只出现在window_base类中
“我方队员一种颜色,敌方一种颜色。”中颜色指的哪地方的颜色?


没有使用任何脚本。
没错,我就是修改window_base

这段语句原来是描绘状态的原因。 正常状态下用普通颜色,死亡时用特殊颜色。
我贴出来只是做个范例.
我要做的效果是改actor_name这里。敌人的名字一种颜色显示,我方的名字一种颜色显示。


作者: tiandi79    时间: 2009-2-12 17:01
   actor = $game_actors[actor_id]
   # 同伴人数未满 5 人、本角色不在队伍中的情况下
   if @actors.size < 5 and not @actors.include?(actor)

以上是队伍人数判定,借用一下@actors.include?(actor)类似的判定试试

self.contents.font.color = ************** ? knockout_color : normal_color

作者: pinko    时间: 2009-2-12 19:19
以下引用tiandi79于2009-2-12 9:01:22的发言:

  actor = $game_actors[actor_id]
  # 同伴人数未满 5 人、本角色不在队伍中的情况下
  if @actors.size < 5 and not @actors.include?(actor)

以上是队伍人数判定,借用一下@actors.include?(actor)类似的判定试试

self.contents.font.color = ************** ? knockout_color : normal_color


我试着做了一下,报告脚本错误。
或许是我自己写错了。
LS的大大能不能给出一个完整语句?谢谢。
作者: 亿万星辰    时间: 2009-2-12 19:41
self.contents.font.color = actor.is_a?(Game_Actor) ? knockout_color : normal_color [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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