기타

태양 스크립트.

by 할렘 posted Feb 20, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄


이렇게 되는데.. 타일셋트랄까나..저는 그게 다르면 맵이 뭉게뭉게..? 하네요..
기본 타일셋트일때 이걸 쓰시면 태양효과를 내실 수 있습니다.
MACK칩을 쓰는 저로썬 이건 즉사시키는 독이네요..기본 타일셋인 VX유저분들한테는 추천하는 스크립트.
이것또한 출처 : House Slasher
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This class edits problems cause by Sprite_Shadow and Sprite_Sun
#==============================================================================

class Spriteset_Map
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias create_viewports_original create_viewports
alias dispose_viewports_original dispose_viewports
alias update_viewports_original update_viewports
alias update_tilemap_original update_tilemap
alias dispose_tilemap_original dispose_tilemap
alias create_tilemap_original create_tilemap
#--------------------------------------------------------------------------
# * Create Viewport
#--------------------------------------------------------------------------
def create_viewports
create_viewports_original
@viewport0 = Viewport.new(0, 0, 544, 416)
@viewport0.z = 1
@viewport1.z = 20
end
#--------------------------------------------------------------------------
# * Create Tilemap
#--------------------------------------------------------------------------
def create_tilemap
create_tilemap_original
@tilemap0 = Tilemap.new(@viewport0)
@tilemap0.bitmaps[0] = Cache.system("TileA1")
@tilemap0.bitmaps[1] = Cache.system("TileA2")
@tilemap0.bitmaps[4] = Cache.system("TileA5")
@tilemap = Tilemap.new(@viewport1)
@tilemap.bitmaps[2] = Cache.system("TileA3")
@tilemap.bitmaps[3] = Cache.system("TileA4")
@tilemap.bitmaps[5] = Cache.system("TileB")
@tilemap.bitmaps[6] = Cache.system("TileC")
@tilemap.bitmaps[7] = Cache.system("TileD")
@tilemap.bitmaps[8] = Cache.system("TileE")
@tilemaps = [@tilemap, @tilemap0]
@tilemaps.each {|x| x.map_data = $game_map.data}
@tilemaps.each {|x| x.passages = $game_map.passages}
reset_shadows
end
#--------------------------------------------------------------------------
# * Reset Auto Shadows
#--------------------------------------------------------------------------
def reset_shadows
data = @tilemap0.map_data
# Every square on the map
for x in 0...data.xsize
for y in 0...data.ysize
# Check for Auto Shadow
if data[x,y,1] == 0
# Replace Auto Shadow
@tilemap0.map_data[x,y,1] = data[x,y,0] == 0 ? 25 : @tilemap0.map_data[x,y,0]
end
end
end
end
#--------------------------------------------------------------------------
# * Dispose of Tilemap
#--------------------------------------------------------------------------
def dispose_tilemap
dispose_tilemap_original
@tilemap0.dispose
end
#--------------------------------------------------------------------------
# * Dispose of Viewport
#--------------------------------------------------------------------------
def dispose_viewports
@viewport0.dispose
dispose_viewports_original
end
#--------------------------------------------------------------------------
# * Update Tilemap
#--------------------------------------------------------------------------
def update_tilemap
update_tilemap_original
@tilemap0.ox = $game_map.display_x / 8
@tilemap0.oy = $game_map.display_y / 8
@tilemap0.update
end
#--------------------------------------------------------------------------
# * Update Viewport
#--------------------------------------------------------------------------
def update_viewports
update_viewports_original
@viewport0.tone = $game_map.screen.tone
@viewport0.ox = $game_map.screen.shake
@viewport0.update
end
end