查看: 5075|回复: 11

[已经解决] 【专业伸手党】求一个能让选项颜色变成其他颜色的方法...

[复制链接]

梦石
0
星屑
239
在线时间
2399 小时
注册时间
2008-4-11
回帖
11727

贵宾第6届短篇游戏比赛季军

发表于 2013-3-4 19:56:11 | 显示全部楼层 |阅读模式
悬赏5星屑已解决
本帖最后由 一瞬间的幻觉 于 2013-3-4 20:00 编辑


跪求一种绿色的,无冲突的alias方式的解决方法。
可以让其中一个或者几个选项改变颜色。

因为我们游戏中经常会碰到这种情况“某个选项暂时还未开放”但是由于
选项的颜色都一样,无法区别哪个没开放,所以大多数玩家都会点击进去

这样就浪费不少时间了。

下图说明:

124.png
点击前往海外之国,结果,是不能去

125.png

如果我们之前在选项中就把这一项变成灰色
那玩家就知道“哦,这个选项还没开放呢”,就不会点进去了


另外,求选项里面加入变量\v[x]并显示出来的方法

谢谢

最佳答案

查看完整内容

您提供的脚本看了下,发现脚本是用Window_Command来做选项的,并且Window_Command中的 draw_item方法并没有被改写。 我尝试写了个脚本,您试试行不: [pre lang="ruby" line="1"]#============================================================================== # ■ Window_Command #------------------------------------------------------------------------------ #  一般的命令选择行窗口。 #========================= ...

点评

小瞬,9楼的回答你给点评一下啊,是否满意,人家都提出帮你修补到满意为止了。  发表于 2013-3-9 22:47
幻觉,请试试我的脚本,假如不行的话,我不停修补,补到你满意为止O(∩_∩)O~  发表于 2013-3-8 14:43

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
回帖
404
发表于 2013-3-4 19:56:12 | 显示全部楼层
本帖最后由 OCTSJimmy 于 2013-3-20 09:52 编辑

您提供的脚本看了下,发现脚本是用Window_Command来做选项的,并且Window_Command中的 draw_item方法并没有被改写。
我尝试写了个脚本,您试试行不:

[pre lang="ruby" line="1"]#==============================================================================
# ■ Window_Command
#------------------------------------------------------------------------------
#  一般的命令选择行窗口。
#==============================================================================
class Window_Command < Window_Selectable
   attr_reader :temp # @temp 用于增强
   attr_reader :frozen_char # 特殊字符处理
  #--------------------------------------------------------------------------
  # ● 绘制项目
  #     index   : 项目位置
  #     enabled : 有效标志,false时项目半透明化
  #     By OCTSJimmy(风星剑仙)
  #        做了增强,1、可使用\v[x]引用变量
  #                  2、可使用\n[x]引用角色名字
  #                  3、可使用\c[x]定义颜色
  #                  4、可以使用\g来显示金钱窗口
  #                  5、可以使用\s[x]来引用技能
  #                  6、可以使用\i[x]来引用物品
  #                  7、可以使用\w[x]来引用武器
  #                  8、可以使用\a[x]来引用防具
  #                  9、可以使用\f[sx]来改变字号\f[nx]来改变字体\f[cx]与\c一致,定义颜色
  #                  10、可以使用\f[c#x]来依据rgb定义颜色
  #                  11、可以使用\f[ax]来使用字体的附加效果
  #                  12、可以使用\a[x]来使用角色动画
  #                  13、可以使用\b[x]来使用心情动画
  #         使用方法:main以上插入,其他请参见上面部分,另外设置成无效的选项,自动强制透明度为128需注意。
  #         可能的冲突:所有重定义Window_Command中draw_item方法的脚本均会发生冲突。
  #--------------------------------------------------------------------------
  def draw_item(index, enabled = true)
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    h = nil
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    if @commands[index].frozen?
         @temp= @commands[index].clone
    else
         @temp = @commands[index].dup #这个东东是最坑的,假如不使用dup各种蛋疼
    end
   
    ## 特定字符处理
    @temp.gsub!(/#\[(.*?)\]/)    {@frozen_char.push($1); "\xff"}
    @temp.gsub!(/#\<(.*?)\>/)    {""}
    ## 默认控制符
    @temp.gsub!(/\\V\[(\d+)\]/i) {$game_variables[$1.to_i]}
    @temp.gsub!(/\\V\[(\d+)\]/i) {$game_variables[$1.to_i]}
    @temp.gsub!(/\\N\[(\d+)\]/i) {$game_actors[$1.to_i].name}
    @temp.gsub!(/\\C\[(\d+)\]/i) {"\x01[#{$1}]"}
    @temp.gsub!(/\\G/)           {"\x02"}
    @temp.gsub!(/\\\\/)          {"\\"}
    ## 更改不透明度
    @temp.gsub!(/\\O\[(\d+)\]/i) {"\x09[#{$1}]"}
    ## 显示数据库元素
    @temp.gsub!(/\\S\[(\d+)\]/i) {"\x0a[#{$1}]" + $data_skills[$1.to_i].name}
    @temp.gsub!(/\\I\[(\d+)\]/i) {"\x0b[#{$1}]" + $data_items[$1.to_i].name}
    @temp.gsub!(/\\W\[(\d+)\]/i) {"\x0c[#{$1}]" + $data_weapons[$1.to_i].name}
    @temp.gsub!(/\\A\[(\d+)\]/i) {"\x0d[#{$1}]" + $data_armors[$1.to_i].name}
    ## 更改字体
    @temp.gsub!(/\\F\[S(\d+)\]/i){"\x0e[#{$1}]"}
    @temp.gsub!(/\\F\[N(\d+)\]/i){"\x0f[#{$1}]"}
    @temp.gsub!(/\\F\[C(\d+)\]/i){"\x01[#{$1}]"}
    ## 16进制颜色
    @temp.gsub!(/\\F\[C\#([a-f0-9]+)\]/i) {"\x10[#{$1}]"}
    ## 字体附加效果
    @temp.gsub!(/\\F\[A(\d+)\]/i){"\x11[#{$1}]"}
    ## 提取动画对象和 ID
    @temp.gsub!(/\\A\[(\S+)\,(\d+)\]/i) {"\x15[#{$1},#{$2}]"}
    @temp.gsub!(/\\B\[(\S+)\,(\d+)\]/i) {"\x16[#{$1},#{$2}]"}
   loop do
      c = @temp.slice!(/./m)
      case c
      when nil                          # 没有可以显示的文字
        break
      when "\x01"                       # \C[n]  (更改文字色)
        @temp.sub!(/\[([0-9]+)\]/, "")
        self.contents.font.color = text_color($1.to_i)
        next
      when "\x02"                       # \G  (显示所持金)
        @gold_window.refresh
        @gold_window.open
      ## 更改不透明度的情况下
      when "\x09"
        @temp.sub!(/\[(\d+)\]/, "")
        self.contents.font.color.alpha = $1.to_i
      ## 显示技能情况下
      when "\x0a"
        @temp.sub!(/\[(\d+)\]/, "")
        draw_icon($data_skills[$1.to_i].icon_index, rect.x, rect.y)
        ## 横坐标增加图标宽度
        rect.x += 24
      ## 显示物品情况下
      when "\x0b"
        @temp.sub!(/\[(\d+)\]/, "")
        draw_icon($data_items[$1.to_i].icon_index, rect.x, rect.y)
        ## 横坐标增加图标宽度
        rect.x += 24
      ## 显示武器情况下
      when "\x0c"
        @temp.sub!(/\[(\d+)\]/, "")
        p $1
        draw_icon($data_weapons[$1.to_i].icon_index, rect.x, rect.y)
        ## 横坐标增加图标宽度
        rect.x += 24
      ## 显示防具情况下
      when "\x0d"
        @temp.sub!(/\[(\d+)\]/, "")
        draw_icon($data_armors[$1.to_i].icon_index, rect.x, rect.y)
        ## 横坐标增加图标宽度
        rect.x += 24
      ## 更改字体的情况下
      when "\x0e"
        @temp.sub!(/\[(\d+)\]/, "")
        self.contents.font.size = $1.to_i
      when "\x0f"
        @temp.sub!(/\[(\d+)\]/, "")
        name = Font_Lib[$1.to_i]
        self.contents.font.name = Font.exist?(name) ? name : Font.default_name
      ## 16进制颜色
      when "\x10"
        @temp.sub!(/\[(\w+)\]/, "")
        r,g,b = $1.scan(/../)
        self.contents.font.color = Color.new(r.hex, g.hex, b.hex)
      ## 字体附加效果
      when "\x11"
        @temp.sub!(/\[(\d+)\]/, "")
        ## 获取字体附加效果
        @font_adj = $1.to_i
      ## 显示角色动画
      when "\x15"
        @temp.sub!(/\[(\S+)\,(\d+)\]/, "")
        character = interpreter.get_character($1.to_i)
        character.animation_id = $2.to_i unless character.nil?
        next
      ## 显示心情动画
      when "\x16"
        @temp.sub!(/\[(\S+)\,(\d+)\]/, "")
        character = interpreter.get_character($1.to_i)
        character.balloon_id = $2.to_i unless character.nil?
        next
      ## 特定字符处理
      when "\xff"
        @temp.insert(0, @frozen_char.shift)
      else
        c_width = self.contents.text_size(c).width
        if h.nil?
          h = c_width
        end
        self.contents.font.color.alpha = enabled ? 255 : 128
        self.contents.draw_text(rect,c)
        rect.x += h
        rect.width = h
      end
    end
    rect.x = 0
  end
end[/pre]         

点评

非常不好意思,被老妈禁网好多时间  发表于 2013-3-14 22:05
卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复

使用道具 举报

梦石
0
星屑
201
在线时间
835 小时
注册时间
2012-9-16
回帖
1598
发表于 2013-3-4 19:59:54 | 显示全部楼层
对了喵,选项里貌似不是可以用代码么、应该可以\c[n]的。不过貌似前面会空出来一点,可以这样解决(虽然是VA的,不过貌似VX是可以用的。。。)http://rpg.blue/forum.php?mod=viewthread&tid=233548

——旧坑欢迎戳
回复

使用道具 举报

送快递的水表员

梦石
10
星屑
5259
在线时间
3304 小时
注册时间
2012-6-27
回帖
7028

开拓者贵宾

发表于 2013-3-4 21:05:06 | 显示全部楼层
小瞬啊……
用图片代替不行么?

原理就像事件标题不行么? = =|
(理论上这绝对可行!绝对!)
回复

使用道具 举报

梦石
0
星屑
239
在线时间
2399 小时
注册时间
2008-4-11
回帖
11727

贵宾第6届短篇游戏比赛季军

 楼主| 发表于 2013-3-4 21:10:13 | 显示全部楼层
Password 发表于 2013-3-4 21:05
小瞬啊……
用图片代替不行么?

图片的话,我也有想过,但是感觉不是很方便,,,还是伸手更加方便啊

点评

绝对同意结城的话,如果是我的话,我宁愿麻烦点换个方法,也不愿做伸手党。。。  发表于 2013-3-14 23:01
壕无人性可言!  发表于 2013-3-4 22:15
回复

使用道具 举报

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2013-3-5 09:52:45 | 显示全部楼层
本帖最后由 protosssonny 于 2013-3-5 09:54 编辑

这样的话,我们需要你现有工程的这个菜单呀。如果方便的话,上上现有的工程。
这个问题比较简单,暂时看看有不由人愿意接手,P叔先观察一下情况,实在没人的话P叔再考虑接。
简单的饭菜向来是要留给大家吃的。
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

梦石
0
星屑
239
在线时间
2399 小时
注册时间
2008-4-11
回帖
11727

贵宾第6届短篇游戏比赛季军

 楼主| 发表于 2013-3-5 17:18:49 | 显示全部楼层
本帖最后由 一瞬间的幻觉 于 2013-3-14 22:36 编辑
protosssonny 发表于 2013-3-5 09:52
这样的话,我们需要你现有工程的这个菜单呀。如果方便的话,上上现有的工程。
这个问题比较简单,暂时看看 ...


这个选项的工程,只是加了选择项的坐标,以及选项的背景图

应该没什么关系把,,,

改造自沉影大大的对话框加强版,呵呵

点评

连版主都不晓得怎么弄,我们这些平民百姓怎么可能知道!  发表于 2013-3-8 12:35
那么说,直接用沉影大的范例来改造也是可以的了?  发表于 2013-3-5 17:28
回复

使用道具 举报

伴侣:北岛谜烟

发表于 2013-3-5 18:23:12 | 显示全部楼层
改造自沉影大大的对话框加强版,我在期待,我在伸手,我在等待,不是,我是来问小瞬用的是什么字体的……(会被扣分的= =

点评

华康童童体  发表于 2013-3-5 19:39
本人收不到提醒(点评|回复|@人),总之有事情到空间留言一起普通普通
回复

使用道具 举报

梦石
0
星屑
239
在线时间
2399 小时
注册时间
2008-4-11
回帖
11727

贵宾第6届短篇游戏比赛季军

 楼主| 发表于 2013-3-5 19:38:22 | 显示全部楼层
protosssonny 发表于 2013-3-5 09:52
这样的话,我们需要你现有工程的这个菜单呀。如果方便的话,上上现有的工程。
这个问题比较简单,暂时看看 ...

可以直接改沉影大大的脚本。。。反正我是无耻的伸手党,,,,嘿嘿

点评

好的、、、、  发表于 2013-3-5 20:03
那么先看看大家是否愿意来帮,反正你这问题也不急的,离你制作完成应该还有很长时间吧?若真没人回答,P叔再来搞定它!  发表于 2013-3-5 19:41
回复

使用道具 举报

梦石
0
星屑
4209
在线时间
1870 小时
注册时间
2010-12-21
回帖
2166
发表于 2013-3-9 13:21:00 | 显示全部楼层
嘛 如果是别人的脚本的话 就不知道怎么做了
如果是重新做一个的话倒是好办
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部