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

Project1

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

[有事请教] 如何在发生属性克制时 改变显示的伤害数字的颜色?

[复制链接]

Lv5.捕梦者

梦石
0
星屑
33314
在线时间
10512 小时
注册时间
2009-3-15
帖子
4762
1
发表于 2023-8-7 17:56:36 | 显示全部楼层
哎..你是不知道在哪里改还是不知道怎么改还是以上皆是?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33314
在线时间
10512 小时
注册时间
2009-3-15
帖子
4762
2
发表于 2023-8-7 18:29:16 | 显示全部楼层
本帖最后由 soulsaga 于 2023-8-7 18:38 编辑
c21c21 发表于 2023-8-7 18:23
猜测 是在Scene_Battle 4的423行这里改是吗?
怎么改就真不知道了


要在两个地方改..没法一步到位

我自己之前也试着改了个类似的

SSSS.JPG (158.93 KB, 下载次数: 9)

SSSS.JPG
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33314
在线时间
10512 小时
注册时间
2009-3-15
帖子
4762
3
发表于 2023-8-7 18:58:41 | 显示全部楼层
本帖最后由 soulsaga 于 2023-8-7 19:10 编辑

先定义个全局变量


class Game_Battler
def skill_effect(user, skill)
里面找个位置加个判断
if elements_correct(user.element_set) >= 100#克制
if elements_correct(user.element_set) < 100#被抵抗
这里把结果保存到变量里
然后在MAIN上插入
RUBY 代码复制
  1. module RPG
  2.   class Sprite < ::Sprite
  3. def damage(value, critical)
  4.       dispose_damage
  5.       if value.is_a?(Numeric)
  6.         damage_string = value.abs.to_s
  7.       else
  8.         damage_string = value.to_s
  9.       end
  10.       bitmap = Bitmap.new(160, 48)
  11.       bitmap.font.name = "Arial Black"
  12.       bitmap.font.size = 32
  13.       bitmap.font.color.set(0, 0, 0)
  14.       bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  15.       bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
  16.       bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
  17.       bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
  18.       if value.is_a?(Numeric) and value < 0
  19.         bitmap.font.color.set(176, 255, 144)
  20.       else
  21.         bitmap.font.color.set(255, 255, 255)
  22.       end
  23.       bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  24.       if critical
  25.         bitmap.font.size = 20
  26.         bitmap.font.color.set(0, 0, 0)
  27.         bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)
  28.         bitmap.draw_text(+1, -1, 160, 20, "CRITICAL", 1)
  29.         bitmap.draw_text(-1, +1, 160, 20, "CRITICAL", 1)
  30.         bitmap.draw_text(+1, +1, 160, 20, "CRITICAL", 1)
  31.         bitmap.font.color.set(255, 255, 255)
  32.         bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)
  33.       end
  34.       @_damage_sprite = ::Sprite.new(self.viewport)
  35.       @_damage_sprite.bitmap = bitmap
  36.       @_damage_sprite.ox = 80
  37.       @_damage_sprite.oy = 20
  38.       @_damage_sprite.x = self.x
  39.       @_damage_sprite.y = self.y - self.oy / 2
  40.       @_damage_sprite.z = 3000
  41.       @_damage_duration = 40
  42.     end
  43. end
  44. end


之后你可以自行改字体色了..
这部份的脚本是内部脚本可在F1中搜RPG::Sprite找到
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33314
在线时间
10512 小时
注册时间
2009-3-15
帖子
4762
4
发表于 2023-8-9 17:22:19 | 显示全部楼层
哎..我还没说怎么定义全局变量呢..
基本不去用$开头的变量
RUBY 代码复制
  1. class Game_Temp
  2.   attr_accessor :克制
  3. def 克制;return @克制||=0;end
  4. end


不用保存到存档里的变量用上面这个就行

然后要用时写上$game_temp.克制就能用了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-18 05:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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