Project1
标题:
Flash加工出的文字显示效果图片
[打印本页]
作者:
红世之徒
时间:
2007-3-8 05:34
标题:
Flash加工出的文字显示效果图片
在上次的RTAB整合脚本中有不少的好东西,这里对其中一个来点讨论..
里边的升级和数字显示等东东让人感觉效果是特别爽,可是发现许多朋友都是千篇一律的文字和数字样式..很是郁闷..这里写个东东,希望对大家有帮助.
本贴对应:RTAB整合脚本伤害美化
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
class Scene_Battle
alias :atb_setup_original :atb_setup
def atb_setup
for path in ["num", "critical", "miss", "Levelup", "newskill", "learning"]
RPG::Cache.numeric(path)
end
atb_setup_original
end
end
module RPG
class Sprite < ::Sprite
WIDTH = 18 # 文字幅
HEIGHT = 20 # クリティカルの文字?高さ
def damage(value, critical, type = 0)
if value.is_a?(Numeric)
damage_string = value.abs.to_s
else
damage_string = value.to_s
end
if value.is_a?(Numeric) and value >= 0
if type == 0
if critical
d_bitmap = draw_damage(value, 1)
else
d_bitmap = draw_damage(value, 0)
end
else
d_bitmap = draw_damage(value, 2)
end
else
if type == 0
d_bitmap = draw_damage(value, 3)
else
d_bitmap = draw_damage(value, 4)
end
end
if type == 2
d_bitmap = draw_damage(value, 5)
end
num = @_damage.size
if type != 2
@_damage.push([::Sprite.new, 40, 0, rand(40) - 20, rand(30) + 50])
else
@_damage.push([::Sprite.new, 40, 0, rand(20) - 10, rand(20) + 60])
end
@_damage[num][0].bitmap = d_bitmap
@_damage[num][0].ox = d_bitmap.width / 2
@_damage[num][0].oy = d_bitmap.height / 2
if self.battler.is_a?(Game_Actor)
@_damage[num][0].x = self.x + self.viewport.ox
@_damage[num][0].y = self.y - self.oy / 2
else
@_damage[num][0].x = self.x + self.viewport.rect.x -
self.ox + self.src_rect.width / 2
@_damage[num][0].y = self.y - self.oy * self.zoom_y / 2 +
self.viewport.rect.y
@_damage[num][0].zoom_x = self.zoom_x
@_damage[num][0].zoom_y = self.zoom_y
@_damage[num][0].z = 3000
end
end
def draw_damage(value, element)
width = 0
if value.is_a?(Numeric)
value = value.abs
fig = value.to_s.size - 1
file = RPG::Cache.numeric("num")
d_width = WIDTH * fig + file.rect.width / 10
if element == 1
critical = RPG::Cache.numeric("critical")
d_width = [d_width, critical.rect.width].max
d_bitmap = Bitmap.new(d_width+36, HEIGHT + file.rect.height / 5)
d_x = 0#(width - critical.rect.width / 10) / 2
d_bitmap.blt(d_x+fig*(fig/1.6), 0, critical, critical.rect)
Audio.se_play("Audio/SE/"+"Clip10",100,100)
# $game_screen.start_flash(Color.new(255,255,255),2)
$game_screen.start_shake(3,9,2)
else
d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
end
d_x = ((d_width) - (WIDTH * fig + file.rect.width / 10)) / 2
while fig >= 0
d_bitmap.blt(d_x, HEIGHT, file, Rect.new((value / (10 ** fig)) *
file.rect.width / 10, element * file.rect.height / 5,
file.rect.width / 10, file.rect.height / 5))
d_x += WIDTH
value %= 10 ** fig
fig -= 1
end
else
case value
when "Miss"
file = RPG::Cache.numeric("miss")
when "Level Up!"
file = RPG::Cache.numeric("levelup")
when "New Skill!"
file = RPG::Cache.numeric("newskill")
when "Learning!"
file = RPG::Cache.numeric("learning")
else
return Bitmap.new(1, 1)
end
d_bitmap = file
end
return d_bitmap
end
end
module Cache
def self.numeric(filename)
self.load_bitmap("Graphics/String/", filename)
end
end
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
复制代码
还有用图片显示数字 http://rpg.blue/web/htm/news629.htm
首先打开Flash界面,修改大小为文字显示的合适界面大小,如图1,2,3。
使用文本工具输入我们需要的文字,用Ctrl+B打碎文字,在填充里选择填充方式,我选的线性,之后设定变化颜色(也可以使用纯色),如图5,6。
填充好颜色,选择>修改-形状-柔化填充边缘(也可是尝试其他效果)如图8,9.
变化后效果如图10.
最后导出图像,这里导出需要为PNG格式,完整大小并且具有透明通道,最后察看效果.如图13.
以上只是个例子,也可以用在其他方面,比如角色图,地图,魔法特技等等...
结合PS使用效果最佳.
作者:
红世之徒
时间:
2007-3-8 05:34
标题:
Flash加工出的文字显示效果图片
在上次的RTAB整合脚本中有不少的好东西,这里对其中一个来点讨论..
里边的升级和数字显示等东东让人感觉效果是特别爽,可是发现许多朋友都是千篇一律的文字和数字样式..很是郁闷..这里写个东东,希望对大家有帮助.
本贴对应:RTAB整合脚本伤害美化
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
class Scene_Battle
alias :atb_setup_original :atb_setup
def atb_setup
for path in ["num", "critical", "miss", "Levelup", "newskill", "learning"]
RPG::Cache.numeric(path)
end
atb_setup_original
end
end
module RPG
class Sprite < ::Sprite
WIDTH = 18 # 文字幅
HEIGHT = 20 # クリティカルの文字?高さ
def damage(value, critical, type = 0)
if value.is_a?(Numeric)
damage_string = value.abs.to_s
else
damage_string = value.to_s
end
if value.is_a?(Numeric) and value >= 0
if type == 0
if critical
d_bitmap = draw_damage(value, 1)
else
d_bitmap = draw_damage(value, 0)
end
else
d_bitmap = draw_damage(value, 2)
end
else
if type == 0
d_bitmap = draw_damage(value, 3)
else
d_bitmap = draw_damage(value, 4)
end
end
if type == 2
d_bitmap = draw_damage(value, 5)
end
num = @_damage.size
if type != 2
@_damage.push([::Sprite.new, 40, 0, rand(40) - 20, rand(30) + 50])
else
@_damage.push([::Sprite.new, 40, 0, rand(20) - 10, rand(20) + 60])
end
@_damage[num][0].bitmap = d_bitmap
@_damage[num][0].ox = d_bitmap.width / 2
@_damage[num][0].oy = d_bitmap.height / 2
if self.battler.is_a?(Game_Actor)
@_damage[num][0].x = self.x + self.viewport.ox
@_damage[num][0].y = self.y - self.oy / 2
else
@_damage[num][0].x = self.x + self.viewport.rect.x -
self.ox + self.src_rect.width / 2
@_damage[num][0].y = self.y - self.oy * self.zoom_y / 2 +
self.viewport.rect.y
@_damage[num][0].zoom_x = self.zoom_x
@_damage[num][0].zoom_y = self.zoom_y
@_damage[num][0].z = 3000
end
end
def draw_damage(value, element)
width = 0
if value.is_a?(Numeric)
value = value.abs
fig = value.to_s.size - 1
file = RPG::Cache.numeric("num")
d_width = WIDTH * fig + file.rect.width / 10
if element == 1
critical = RPG::Cache.numeric("critical")
d_width = [d_width, critical.rect.width].max
d_bitmap = Bitmap.new(d_width+36, HEIGHT + file.rect.height / 5)
d_x = 0#(width - critical.rect.width / 10) / 2
d_bitmap.blt(d_x+fig*(fig/1.6), 0, critical, critical.rect)
Audio.se_play("Audio/SE/"+"Clip10",100,100)
# $game_screen.start_flash(Color.new(255,255,255),2)
$game_screen.start_shake(3,9,2)
else
d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
end
d_x = ((d_width) - (WIDTH * fig + file.rect.width / 10)) / 2
while fig >= 0
d_bitmap.blt(d_x, HEIGHT, file, Rect.new((value / (10 ** fig)) *
file.rect.width / 10, element * file.rect.height / 5,
file.rect.width / 10, file.rect.height / 5))
d_x += WIDTH
value %= 10 ** fig
fig -= 1
end
else
case value
when "Miss"
file = RPG::Cache.numeric("miss")
when "Level Up!"
file = RPG::Cache.numeric("levelup")
when "New Skill!"
file = RPG::Cache.numeric("newskill")
when "Learning!"
file = RPG::Cache.numeric("learning")
else
return Bitmap.new(1, 1)
end
d_bitmap = file
end
return d_bitmap
end
end
module Cache
def self.numeric(filename)
self.load_bitmap("Graphics/String/", filename)
end
end
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
复制代码
还有用图片显示数字 http://rpg.blue/web/htm/news629.htm
首先打开Flash界面,修改大小为文字显示的合适界面大小,如图1,2,3。
使用文本工具输入我们需要的文字,用Ctrl+B打碎文字,在填充里选择填充方式,我选的线性,之后设定变化颜色(也可以使用纯色),如图5,6。
填充好颜色,选择>修改-形状-柔化填充边缘(也可是尝试其他效果)如图8,9.
变化后效果如图10.
最后导出图像,这里导出需要为PNG格式,完整大小并且具有透明通道,最后察看效果.如图13.
以上只是个例子,也可以用在其他方面,比如角色图,地图,魔法特技等等...
结合PS使用效果最佳.
作者:
暴风の龙
时间:
2007-3-8 05:43
赞成~~~比起PS,我做效果字更喜欢用FLASH~~
作者:
亿万星辰
时间:
2007-3-8 05:57
我是用FW,主要是因为macromedia的这些启动快些{/gg}
作者:
魔剑美神
时间:
2007-3-8 07:01
不错~
LZ发个范例上来吧~~
作者:
莫浪语
时间:
2007-3-8 07:28
还有一点,在小范围内ps做图比flash导出的图模糊
作者:
红世之徒
时间:
2007-3-8 21:21
否定的...两个软件各有所长,用Flash做的图片通常都要比PhotoShop平均25X25像素都要大上1KB..
作者:
风雪优游
时间:
2007-3-8 21:53
挖~~好棒~~支持一个^我家的PS打开都要10分钟= =|||
多做点字来分享吧~~~{/cy}
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1