def pbSpriteSetAnimFrames(sprite,frame,user=nil,target=nil,ineditor=false)
return if !sprite
if !frame
sprite.visible=false
sprite.src_rect=Rect.new(0,0,1,1)
return
end
sprite.blend_type=frame[AnimFrame::BLENDTYPE]
sprite.angle=frame[AnimFrame::ANGLE]
sprite.mirror=(frame[AnimFrame::MIRROR]>0)
sprite.opacity=frame[AnimFrame::OPACITY]
sprite.visible=true
if !frame[AnimFrame::VISIBLE]==1 && ineditor
sprite.opacity/=2
else
sprite.visible=(frame[AnimFrame::VISIBLE]==1)
end
pattern=frame[AnimFrame::PATTERN]
if pattern>=0
# if sprite.bitmap && !sprite.bitmap.disposed?
# animwidth=sprite.bitmap.width/5
# #echo(animwidth.inspect+"\r\n")
# else
# animwidth=192
# end
animwidth=192
sprite.src_rect.set((pattern%5)*animwidth,(pattern/5)*animwidth,
animwidth,animwidth)
else
sprite.src_rect.set(0,0,
sprite.bitmap ? sprite.bitmap.width : 128,
sprite.bitmap ? sprite.bitmap.height : 128)
end
sprite.zoom_x=frame[AnimFrame::ZOOMX]/100.0
sprite.zoom_y=frame[AnimFrame::ZOOMY]/100.0
sprite.color.set(
frame[AnimFrame::COLORRED],
frame[AnimFrame::COLORGREEN],
frame[AnimFrame::COLORBLUE],
frame[AnimFrame::COLORALPHA]
)
sprite.tone.set(
frame[AnimFrame::TONERED],
frame[AnimFrame::TONEGREEN],
frame[AnimFrame::TONEBLUE],
frame[AnimFrame::TONEGRAY]
)
sprite.ox=sprite.src_rect.width/2
sprite.oy=sprite.src_rect.height/2
sprite.x=frame[AnimFrame::X]
sprite.y=frame[AnimFrame::Y]
if sprite!=user && sprite!=target
case frame[AnimFrame::PRIORITY]
when 0 # Behind everything
sprite.z=5
when 1 # In front of everything
sprite.z=35
when 2 # Just behind focus
if frame[AnimFrame::FOCUS]==1 # Focused on target
sprite.z=(target) ? target.z-1 : 5
elsif frame[AnimFrame::FOCUS]==2 # Focused on user
sprite.z=(user) ? user.z-1 : 5
else # Focused on user and target, or screen
sprite.z=5
end
when 3 # Just in front of focus
if frame[AnimFrame::FOCUS]==1 # Focused on target
sprite.z=(target) ? target.z+1 : 35
elsif frame[AnimFrame::FOCUS]==2 # Focused on user
sprite.z=(user) ? user.z+1 : 35
else # Focused on user and target, or screen
sprite.z=35
end
else
sprite.z=35
end
end
end