Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
- # DRG Fade Effect Room
- # Version: 1.16
- # Author : LiTTleDRAgo
- #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
- #==============================================================================
- # ** Game_Event
- #------------------------------------------------------------------------------
- # This class deals with events. It handles functions including event page
- # switching via condition determinants, and running parallel process events.
- # It's used within the Game_Map class.
- #==============================================================================
- class Game_Event < Game_Character
- #--------------------------------------------------------------------------
- # * Public Instance Variables
- #--------------------------------------------------------------------------
- attr_reader :event
- end
- #==============================================================================
- # ** Spriteset_Map
- #------------------------------------------------------------------------------
- # This class brings together map screen sprites, tilemaps, etc.
- # It's used within the Scene_Map class.
- #==============================================================================
- class Spriteset_Map
- #--------------------------------------------------------------------------
- # * Alias Listing
- #--------------------------------------------------------------------------
- alias_method :drg132_update, :update if !method_defined?(:drg132_update)
- #--------------------------------------------------------------------------
- # * Objects Initialization
- #--------------------------------------------------------------------------
- def init_fadesprite
- @fade_sprite = []
- $game_map.events.keys.sort.each {|i|
- next unless $game_map.events[i].event.name =~ /ObjectMask/i
- $game_map.events[i].list.each {|list| parameter = list.parameters[0]
- next if parameter.nil?
- if parameter =~ /<Color = (\d+), (\d+), (\d+)>/i
- j = [$1.to_i,$2.to_i,$3.to_i,255]
- elsif parameter =~ /<Color = (\d+), (\d+), (\d+), (\d+)>/i
- j = [$1.to_i,$2.to_i,$3.to_i,$4.to_i]
- end
- @fade_color = Color.new(*j) if !j.nil? && j[0..2] != [0]*3
- if parameter =~ /\((\d+),(\d+),(\d+),(\d+)\)/
- a,b,c,d = $1.to_i,$2.to_i,$3.to_i,$4.to_i
- parameter =~ /\[(\d+),(\d+),(\d+),(\d+)\]/
- e,f,g,h = $1.to_i,$2.to_i,$3.to_i,$4.to_i
- elsif parameter =~ /\(\[(\d+),(\d+),(\d+),(\d+)\]\)/
- a,b,c,d = $1.to_i,$2.to_i,$3.to_i,$4.to_i
- e,f,g,h = a,b,c,d
- end
- next unless !a.nil? && a.is_a?(Numeric)
- s = Sprite.new(@viewport1)
- s.x, s.y, s.z, tc = a*32+16, b*32+16, 998, Color.new(*[0]*4)
- s.bitmap = Bitmap.new((c-a)*32,(d-b)*32)
- s.bitmap.fill_rect(0,0,s.bitmap.width,s.bitmap.height,@fade_color)
- if parameter =~ /<(\d+),(\d+),(\d+),(\d+)>/
- a,b,c,d = $1.to_i,$2.to_i,$3.to_i,$4.to_i
- s.bitmap.fill_rect(a*32-s.x+16,b*32-s.y+16,(c-a)*32,(d-b)*32,tc)
- end
- mask = [s,[e,f,g,h],[],fade_coord_player]
- if parameter =~ /{(\d+),(\d+),(\d+),(\d+)}/
- mask[2] = [$1.to_i, $2.to_i, $3.to_i, $4.to_i]
- end
- if parameter =~ /<{(\d+),(\d+),(\d+),(\d+)}>/
- e,f,g,h = $1.to_i,$2.to_i,$3.to_i,$4.to_i
- s.bitmap.fill_rect(e*32-s.x+16,f*32-s.y+16,(g-e)*32,(h-f)*32,tc)
- mask[2] = [e,f,g,h]
- end
- mask[0].ox, mask[0].oy = $game_map.display_x/4, $game_map.display_y/4
- mask[0].opacity = (mask[1][0]..mask[1][2]) === mask[3][0] &&
- (mask[1][1]..mask[1][3]) === mask[3][1] &&
- (mask[2].empty? || !((mask[2][0]..mask[2][2]) === mask[3][0]&&
- (mask[2][1]..mask[2][3]) === mask[3][1])) ? 0 : 255
- @fade_sprite << mask }}
- end
- #--------------------------------------------------------------------------
- # * Frame Update
- #--------------------------------------------------------------------------
- def update
- @fade_sprite.nil? ? init_fadesprite : @fade_sprite.each {|mask|
- mask[0].ox, mask[0].oy = $game_map.display_x/4, $game_map.display_y/4
- a = fade_coord_player
- a = [(mask[1][0]..mask[1][2]) === a[0] &&
- (mask[1][1]..mask[1][3]) === a[1] &&
- (mask[2].empty? ||! ((mask[2][0]..mask[2][2]) === a[0] &&
- (mask[2][1]..mask[2][3]) === a[1])), mask[0].opacity]
- mask[0].opacity = a[0] ? [a[1] - 16, 0].max : [a[1] + 8, 255].min }
- drg132_update
- end
- #--------------------------------------------------------------------------
- # * Fade Coord Player
- #--------------------------------------------------------------------------
- def fade_coord_player
- return [$game_player.real_x/128, $game_player.real_y/128]
- return [$game_player.x, $game_player.y]
- end
- end
- $drg_fade_room = true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement