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

Project1

 找回密码
 注册会员
搜索
查看: 2723|回复: 11
打印 上一主题 下一主题

[已经过期] 请问要如何做到这种效果?

[复制链接]

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

跳转到指定楼层
1
发表于 2012-12-14 18:50:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 美丽晨露 于 2012-12-15 13:46 编辑


得到增益状态时
增加该能力的数字变成红色字表示
得到负面状态时
减少该能力的数字变成蓝色字表示
要怎么做?

无标题.png (49.82 KB, 下载次数: 8)

无标题.png
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

Lv1.梦旅人

梦石
0
星屑
227
在线时间
313 小时
注册时间
2010-8-14
帖子
378
2
发表于 2012-12-14 20:02:52 | 只看该作者
在脚本中找到描绘字的那一行

用self.contents.font.color = 你要的颜色

点评

什么都没说啊……幻觉……  发表于 2012-12-15 17:58
宿海仁太萨玛大爱……  发表于 2012-12-14 21:56
如何判断是否更改颜色呢?  发表于 2012-12-14 20:54
回复 支持 反对

使用道具 举报

Lv4.逐梦者

永久原子

梦石
18
星屑
175
在线时间
2054 小时
注册时间
2010-10-25
帖子
4226

开拓者

3
发表于 2012-12-14 20:25:43 | 只看该作者
其实多学习一下就行了,这个要学脚本。
人不在了,有事烧纸。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

4
发表于 2012-12-14 20:36:16 | 只看该作者
先在:Window_Base
里面找到这样一段:
  1.   #--------------------------------------------------------------------------
  2.   # ● 描绘能力值
  3.   #     actor : 角色
  4.   #     x     : 描画目标 X 坐标
  5.   #     y     : 描画目标 Y 坐标
  6.   #     type  : 能力值种类 (0~6)
  7.   #--------------------------------------------------------------------------
  8.   def draw_actor_parameter(actor, x, y, type)
  9.     case type
  10.     when 0
  11.       parameter_name = $data_system.words.atk
  12.       parameter_value = actor.atk
  13.     when 1
  14.       parameter_name = $data_system.words.pdef
  15.       parameter_value = actor.pdef
  16.     when 2
  17.       parameter_name = $data_system.words.mdef
  18.       parameter_value = actor.mdef
  19.     when 3
  20.       parameter_name = $data_system.words.str
  21.       parameter_value = actor.str
  22.     when 4
  23.       parameter_name = $data_system.words.dex
  24.       parameter_value = actor.dex
  25.     when 5
  26.       parameter_name = $data_system.words.agi
  27.       parameter_value = actor.agi
  28.     when 6
  29.       parameter_name = $data_system.words.int
  30.       parameter_value = actor.int
  31.     end
  32.     self.contents.font.color = system_color
  33.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  34.     self.contents.font.color = normal_color
  35.     self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
  36.   end
复制代码
其中:
  1.     self.contents.font.color = system_color
  2.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  3.     self.contents.font.color = normal_color
  4.     self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
复制代码
这几句就是要动手脚的地方了。


先随便找个地方写上这样一段:
虽然判定句子有点长……

  1. if actor.stste?(状态1  ID)
  2. self.contents.font.color = 该状态对应的文字颜色  Color.new(R, G, B)  可以自己在调色板里设置。

  3. elsif actor.stste?(状态2  ID)
  4. self.contents.font.color = 该状态对应的文字颜色

  5. elsif ………………
  6. (以此类推写下去最后再给个例外:)

  7. else
  8. self.contents.font.color = normal_color
  9. end
复制代码
意思就是如果角色的状态里包含某个ID 的状态的话,
就赋予文字相应的颜色,要注意的一点就是,
如果角色的状态里有2个或以上会改变颜色的状态的话,只会以靠后的状态作为改变颜色的标准。
写好这些设定后,回到刚才Window_Base里的那段,
找到:
  1.     self.contents.font.color = normal_color
  2.     self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
复制代码
这两行,就是描绘数值的句子了,
其中第一句就是颜色句子,
把刚才写的那段状态判定颜色的句子代替掉
self.contents.font.color = normal_color
这句,或者直接写在这句和self.contents.draw_text,之间就可以了。

以上……

点评

...10年后的8月。。。  发表于 2012-12-14 20:38
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

5
 楼主| 发表于 2012-12-14 20:53:52 | 只看该作者
cinderelmini 发表于 2012-12-14 20:36
先在:Window_Base
里面找到这样一段:其中:这几句就是要动手脚的地方了。

谢谢,不过这样做会不会麻烦点啊。
每个状态都要进行判断,很混乱。
只要判定一下数值是增是减,
然后改变一下字的颜色
这样会不会方便一些?
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

6
发表于 2012-12-14 22:00:46 | 只看该作者
美丽晨露 发表于 2012-12-14 20:53
谢谢,不过这样做会不会麻烦点啊。
每个状态都要进行判断,很混乱。
只要判定一下数值是增是减,

也不是每个状态都要判定啦~
就是一些有影响到能力值的状态写进去就是了~

如果是用数值的浮动作为判定的话……
感觉会比较不直接的样子~
似乎需要再写一组比对值赋值再进行大小对比~
好像写起来有点拗……

点评

你在说什么?  发表于 2012-12-14 22:01
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

7
 楼主| 发表于 2012-12-14 22:17:30 | 只看该作者
cinderelmini 发表于 2012-12-14 22:00
也不是每个状态都要判定啦~
就是一些有影响到能力值的状态写进去就是了~

如果某个状态的既有提高某能力值
也有降低某能力值的
又该怎么弄?
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
8
发表于 2012-12-14 22:30:12 | 只看该作者
曾经玩过某款游戏,一直以为数值是绿色的,某次抓到一只数值黄色的怪,一开始以为是稀有,后来才发觉原来黄色才是原本的没有任何加成的数值,绿色是有加成的数值。

举这个例子想说明这种类型的设计真不咋地。

你一个状态假设有升有降,如果是复数的状态呢?加减重叠后这颜色不是没什么意义了?

点评

尤其在人物能力比较多样的情况下方便玩家迅速了解人物整体能力的变化。我倒是觉得再留一个空间显示具体变化数值效果会更好。  发表于 2012-12-15 18:45
哦,看来只好换另一种方式实现效果了?  发表于 2012-12-15 00:43
湿滑落式骑!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3570
在线时间
3064 小时
注册时间
2011-11-17
帖子
980
9
发表于 2012-12-14 22:54:56 | 只看该作者
不用通过状态 比如 比较str 与 base_str的大小就可以了

点评

夜神菌V5……  发表于 2012-12-15 17:57
谢谢你的建议  发表于 2012-12-15 00:43
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

10
发表于 2012-12-15 17:56:48 | 只看该作者
啊……哀家罪过了啊……
好久没碰这些脚本……忘记了这些东西了啊!
原谅哀家~
以下~LS的一句话让哀家无地自容……
明明……唉~以下,代替原谅的Window_Base里的相应函数应该可以的~
测试了一下……
  1.   #--------------------------------------------------------------------------
  2.   # ● 描绘能力值
  3.   #     actor : 角色
  4.   #     x     : 描画目标 X 坐标
  5.   #     y     : 描画目标 Y 坐标
  6.   #     type  : 能力值种类 (0~6)
  7.   #--------------------------------------------------------------------------
  8.   def draw_actor_parameter(actor, x, y, type)
  9.     case type
  10.     when 0
  11.       parameter_name = $data_system.words.atk
  12.       parameter_value = actor.atk
  13.       if actor.base_atk > actor.atk
  14.         color = Color.new(0, 0, 255)
  15.       elsif actor.base_atk < actor.atk
  16.         color = Color.new(255, 0, 0)
  17.       else
  18.         color = normal_color
  19.       end
  20.     when 1
  21.       parameter_name = $data_system.words.pdef
  22.       parameter_value = actor.pdef
  23.       if actor.base_pdef > actor.pdef
  24.         color = Color.new(0, 0, 255)
  25.       elsif actor.base_pdef < actor.pdef
  26.         color = Color.new(255, 0, 0)
  27.       else
  28.         color = normal_color
  29.       end
  30.     when 2
  31.       parameter_name = $data_system.words.mdef
  32.       parameter_value = actor.mdef
  33.       if actor.base_mdef > actor.mdef
  34.         color = Color.new(0, 0, 255)
  35.       elsif actor.base_mdef < actor.mdef
  36.         color = Color.new(255, 0, 0)
  37.       else
  38.         color = normal_color
  39.       end
  40.     when 3
  41.       parameter_name = $data_system.words.str
  42.       parameter_value = actor.str
  43.       if actor.base_str > actor.str
  44.         color = Color.new(0, 0, 255)
  45.       elsif actor.base_str < actor.str
  46.         color = Color.new(255, 0, 0)
  47.       else
  48.         color = normal_color
  49.       end
  50.     when 4
  51.       parameter_name = $data_system.words.dex
  52.       parameter_value = actor.dex
  53.       if actor.base_dex > actor.dex
  54.         color = Color.new(0, 0, 255)
  55.       elsif actor.base_dex < actor.dex
  56.         color = Color.new(255, 0, 0)
  57.       else
  58.         color = normal_color
  59.       end
  60.     when 5
  61.       parameter_name = $data_system.words.agi
  62.       parameter_value = actor.agi
  63.       if actor.base_agi > actor.agi
  64.         color = Color.new(0, 0, 255)
  65.       elsif actor.base_agi < actor.agi
  66.         color = Color.new(255, 0, 0)
  67.       else
  68.         color = normal_color
  69.       end
  70.     when 6
  71.       parameter_name = $data_system.words.int
  72.       parameter_value = actor.int
  73.       if actor.base_int > actor.int
  74.         color = Color.new(0, 0, 255)
  75.       elsif actor.base_int < actor.int
  76.         color = Color.new(255, 0, 0)
  77.       else
  78.         color = normal_color
  79.       end
  80.     end
  81.     self.contents.font.color = system_color
  82.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  83.       self.contents.font.color = color
  84.     self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
  85.   end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-9-30 03:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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