Project1

标题: 如何让技能名字颜色改变 [打印本页]

作者: 507066589    时间: 2009-6-7 04:03
标题: 如何让技能名字颜色改变
希望有人能帮我,改悬赏了,难道还让我多+分? [LINE]1,#dddddd[/LINE]此贴于 2009-6-10 10:24:40 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: sizz123    时间: 2009-6-7 06:44
可以使用字符串来区分
  首先看 window_skill这个脚本 中的 ● 描绘项目 这一部分
   
  我在这里加上一句:
      if skill.name.include?("s")
      self.contents.font.color=knockout_color
      end
以上的含义是:如果技能名称中包含有"s"这个字符,字的颜色,就变成危机的红色
然后,你选定几个技能,名称后面加上s,就会发现,凡是名称有s的技能,颜色是红色

ps:  可以使用
for n in 0..60
$game_actors[1].learn_skill(n)
end

来获得1--60号技能,方便游戏测试.


作者: 507066589    时间: 2009-6-7 16:40
没听懂,但我感觉上你这个是全部都变色,我需要的是部分变色{/pz}
作者: sizz123    时间: 2009-6-7 17:25
以下引用507066589于2009-6-7 8:40:48的发言:

没听懂,但我感觉上你这个是全部都变色,我需要的是部分变色


#--------------------------------------------------------------------------
  # ● 描绘项目
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_item(index)
    skill = @data[index]
    if @actor.skill_can_use?(skill.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    if skill.name.include?("s")
      self.contents.font.color=knockout_color
    end
   
     x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
作者: 507066589    时间: 2009-6-7 17:33

   if skill.name.include?("s")
     self.contents.font.color=knockout_color
   end   
贴在那以后出现错误:window_skill的78行发生错误

作者: sizz123    时间: 2009-6-7 18:09
能把78行的语句贴出来吗?
我只是按照默认脚本操作,至于是不是和其他插件脚本冲突,不是很清楚
作者: tommay    时间: 2009-6-7 18:46
LZ要的是部分变颜色,sizz123那个是整个一句话变颜色吧。。。

其实参考Window_Message脚本里面\c[n]的定义方法就行了。



作者: sizz123    时间: 2009-6-7 19:22
以下引用tommay于2009-6-7 10:46:36的发言:

LZ要的是部分变颜色,sizz123那个是整个一句话变颜色吧。。。

其实参考Window_Message脚里面\c[n]的定义方法就行了。

   是有s的部分变颜色,没有s的部分不变


作者: tommay    时间: 2009-6-7 20:15
skill.name.include?("s")
难道不是技能名称中有s的自定义颜色,没有s的不变?

我想LZ要的是这个效果吧:
迪特利之舞

或许我理解错了 = =
作者: 507066589    时间: 2009-6-7 20:26
LS真聪明,理解对了
我才开始也用了\C[N]的方法,但不起作用
作者: 小lim    时间: 2009-6-7 21:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-6-7 21:21
以下引用小lim于2009-6-7 13:17:03的发言:

老实说这问题不用讨论这么久……
擅用搜索就行了。
如果lz要学的是理论性的,那无视我好了。
http://rpg.blue/web/htm/news202.htm

老实说,如果你认真看LZ的问题和我们的讨论,你就不会给出这个无用的链接。
有些不错的想法之所以没有被人重视,就是因为很多人以为已经有人写了,据我所知,这个还没有。
话说,我已经给出了解决这个问题的思路,至于完整的脚本,现在没时间写。

PS:说话直了点,前辈莫怪。
作者: sizz123    时间: 2009-6-8 00:39
找一个技能分类的脚本不是更好吗?
作者: sizz123    时间: 2009-6-8 00:41
以下引用tommay于2009-6-7 13:21:28的发言:


以下引用小lim于2009-6-7 13:17:03的发言:

老实说这问题不用讨论这么久……
擅用搜索就行了。
如果lz要学的是理论性的,那无视我好了。
http://rpg.blue/web/htm/news202.htm


老实说,如果你认真看LZ的问题和我们的讨论,你就不会给出这个无用的链接。
有些不错的想法之所以没有被人重视,就是因为很多人以为已经有人写了,据我所知,这个还没有。
话说,我已经给出了解决这个问题的思路,至于完整的脚本,现在没时间写。

PS:说话直了点,前辈莫怪。


[本贴由作者于 2009-6-7 13:25:15 最后编辑]


说真的,我现在还不是很清楚lz要个什么效果.

作者: 507066589    时间: 2009-6-8 00:49
LS不知道我知道
我要制作这样的
夺魄一击五阶
横扫千军二阶
作者: 不亦乐乎    时间: 2009-6-8 01:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: 507066589    时间: 2009-6-8 01:01
技能改了颜色呢?
作者: 507066589    时间: 2009-6-8 18:37
一天过了,自顶
作者: sizz123    时间: 2009-6-8 19:14
建议lz将你要做成的效果图放出来。因为我对你说的游戏不是很了解
====
我要制作这样的
夺魄一击五阶
====
  难道是技能等级?技能名称不变,等级颜色改变?

作者: 懒洋洋的天堂    时间: 2009-6-8 19:20
以下引用507066589于2009-6-7 16:49:23的发言:

LS不知道我知道
我要制作这样的
夺魄一击五阶
横扫千军二阶

我只看这句,其他没看,实现这个可以用

把技能名字分割
然后分开显示


我技能名字定义的是 十字斩#第一招

windows_skill
显示如下
  def draw_item(index)
    skill = @data[index]
    if @actor.skill_can_use?(skill.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(skill.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    #修改部分
    name = skill.name.split(/#/)
    self.contents.draw_text(x + 28, y, 204, 32, name[0], 0)
    #如果你想根据某些东西定义后缀显示的文字和颜色 比如等级
    # case 技能等级
    # when 1..10
    #   cl= 设置绿色
    #   name[1] = 第一招
    #  end
    #就可以了
    #颜色
    self.contents.font.color = Color.new(128, 255, 128, 255)
    self.contents.draw_text(x + 28 + (name[0].size*7), y, 204, 32, name[1], 0)
    #修改结束
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 后知后觉    时间: 2009-6-8 20:13
我一看见LZ的头像跑得比什么都快~~~~闪~~~~囧~~~~
作者: 507066589    时间: 2009-6-9 00:23
貌似......我过了一定要占你的沙发,吓死你{/gg}
这不是灌水,这是3小时后可以自顶啊{/tp}
作者: tommay    时间: 2009-6-9 00:25
以下引用507066589于2009-6-8 16:23:40的发言:

貌似......我过了一定要占你的沙发,吓死你
这不是灌水,这是3小时后可以自顶啊

LZ难道不看回帖吗?我觉得“懒洋洋的天堂”的那方法可行。
作者: 懒洋洋的天堂    时间: 2009-6-9 00:25
http://rpg.blue/viewthread.php?tid=126540&page=2

请看最底下一个帖子,,,,被无视了
作者: 507066589    时间: 2009-6-9 00:28
LS,我确实无视你了,因为我视力不太好
相应脚本101行出现错误
有范例吗?没我基本看不懂
后知后觉,你看到我头像就跑回复干什么{/fn}
灌水是犯法的{/fn}
害我错过了那谁的精彩发言{/dk}
作者: 懒洋洋的天堂    时间: 2009-6-9 00:54
以下引用507066589于2009-6-8 16:28:13的发言:

LS,我确实无视你了,因为我视力不太好
相应脚本101行出现错误
有范例吗?没我基本看不懂
后知后觉,你看到我头像就跑回复干什么
灌水是犯法的
害我错过了那谁的精彩发言


[本贴由作者于 2009-6-8 16:42:45 最后编辑]


101行跳错,我猜想是,,,
因为我不是神 ,我大概猜到这这个错误 101行是啥/
我技能定义的 十字斩#第一招..

后来我以#号分割的字符.如果你不需要 字符分割 请把
name = skill.name.split(/#/) 去除
将name[0] 改成 skill.name  
将name[1] 改成你想在技能后面显示的名字 可以是变量 可以根据你定的东西而改边..

作者: 小lim    时间: 2009-6-9 03:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 507066589    时间: 2009-6-11 02:02
谢谢LS,太强大了。




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