精灵描边法
这个不是。。。
拓展了一下- -流动光条。。效果不错,(喂!不要看fps
代码待发- -
召唤bbb= =:
@弗雷德@satgo1546 @@kfflX @你最珍贵@烟倦@神秘影子 等等
RUBY 代码
################################################
=begin
使用说明:此脚本运用中心处放大法实现描边。
使用方法:更改父类继承需要描边的精灵
更改super(args)参数、更改(父类图像的)path以及obj_name。
基本完成,其他代码自行修改微调即可。
本脚本示范人物行走图的描边,其他描边的注意ox,oy也要实现到中央(这里通过改y坐标)
zoom可自行更改,blur(模糊)源码自带,VX不需要
=end
################################################
class Sprite_MB < Sprite_Character#←RPG::Sprite
def initialize(viewport,obj)#初始化对像
super(viewport,obj)
obj_name=@character.character_name#
ablack("Graphics/Characters/",obj_name)
update
end
def update#更新画面
super;zoom=1.1
self.zoom_x,self.zoom_y= zoom,zoom
self.z += -1
self.y += @ch*(self.zoom_y-1)/2
self.blend_type,self.opacity = 1,100
end
def ablack(path,obj_name)#描边
self.bitmap = Bitmap.new(path+obj_name)
self.color.set(255,255,255,255)
self.bitmap.blur()rescuefalse
end
end
一共20行
示范的事件描边添加下面这句:
RUBY 代码
class Spriteset_Map
alias ini initialize
def initialize
ini
for i in$game_map.events.keys.sort
@character_sprites.push Sprite_MB.new(@viewport1, $game_map.events)
end
end
end
(引用)需要的模糊blur方法;
RUBY 代码
class Bitmap
def blur(times=1,during =1,blur=1)
#blur(重做模糊次数,经历帧数,分散半径)
for i in1..times
blur_r(blur)
for j in1..during
Graphics.updateif i > 1and during >1
end
end
end
def blur_r(radius = 2)#blur_r(分散半径)
radius = 1if radius
页:
[1]