ページ 1 / 1
<解決済>【RGSS2】砂漠、炎の洞窟で使われる[陽炎]を表現したい
Posted: 2021年5月19日(水) 00:03
by Mirin
RGSS2で砂漠、炎の洞窟とかで使われる陽炎(かげろう)の素材を探しています。
探した結果、回想領域様のRGSS3でありましたが、RGSS2では再現は出来ないのかな?
回想領域 様から抜粋
http://kaisou-ryouiki.sakura.ne.jp/mate ... t_haze.txt
Re: <未解決>【RGSS2】砂漠、炎の洞窟で使われる[陽炎]を表現したい
Posted: 2021年6月10日(木) 19:26
by TOMO
今更だけど作ってみました
コード: 全て選択
class Game_Map
#--------------------------------------------------------------------------
# ● 画面の横タイル数
#--------------------------------------------------------------------------
def screen_tile_x
Graphics.width / 32
end
#--------------------------------------------------------------------------
# ● 画面の縦タイル数
#--------------------------------------------------------------------------
def screen_tile_y
Graphics.height / 32
end
end
class Heat_Haze
#--------------------------------------------------------------------------
# ● タイルマップの作成
#--------------------------------------------------------------------------
def create_tilemap
@tilemap = Tilemap.new
if $imported && $imported["TilesetExtension"]
filename = KGC::TilesetExtension.get_tileset_filename
@tilemap.bitmaps[0] = Cache.system(filename["A1"])
@tilemap.bitmaps[1] = Cache.system(filename["A2"])
@tilemap.bitmaps[2] = Cache.system(filename["A3"])
@tilemap.bitmaps[3] = Cache.system(filename["A4"])
@tilemap.bitmaps[4] = Cache.system(filename["A5"])
@tilemap.bitmaps[5] = Cache.system(filename["B"])
@tilemap.bitmaps[6] = Cache.system(filename["C"])
@tilemap.bitmaps[7] = Cache.system(filename["D"])
@tilemap.bitmaps[8] = Cache.system(filename["E"])
else
@tilemap.bitmaps[0] = Cache.system("TileA1")
@tilemap.bitmaps[1] = Cache.system("TileA2")
@tilemap.bitmaps[2] = Cache.system("TileA3")
@tilemap.bitmaps[3] = Cache.system("TileA4")
@tilemap.bitmaps[4] = Cache.system("TileA5")
@tilemap.bitmaps[5] = Cache.system("TileB")
@tilemap.bitmaps[6] = Cache.system("TileC")
@tilemap.bitmaps[7] = Cache.system("TileD")
@tilemap.bitmaps[8] = Cache.system("TileE")
end
@tilemap.map_data = $game_map.data
@tilemap.passages = $game_map.passages
end
#--------------------------------------------------------------------------
# ● 陽炎作成用のマップを削除
#--------------------------------------------------------------------------
def dispose_heat_haze_map
@tilemap.viewport.dispose if @tilemap.viewport
@tilemap.dispose
@character_sprites.each {|sprite| sprite.dispose }
@character_sprites = nil
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
def dispose
if @heat_haze_sprite
$game_temp.heat_haze_parameters[0] = @heat_haze_sprite.opacity
$game_temp.heat_haze_parameters[2] = @heat_haze_sprite.wave_phase
if $scene.is_a?(Scene_Map)
$game_temp.heat_haze_bitmap.dispose
$game_temp.heat_haze_bitmap = nil
end
@heat_haze_sprite.dispose
@heat_haze_sprite = nil
end
end
end
これを回想領域様のRGSS3版の陽炎スクリプトの下に置いて下さい
あとついでにKAMESOFT様のタイルセット拡張にも対応出来てるはず
※注意
マップが大きすぎるとエラーが出ます
正確には陽炎用に作られる
マップ全体のスクショのファイルサイズの方だけど、
これは元からあった問題なので、わざと対処してません
Re: <未解決>【RGSS2】砂漠、炎の洞窟で使われる[陽炎]を表現したい
Posted: 2021年6月10日(木) 22:05
by Mirin
マップで実際に入れて、陽炎らしくなりました。
64*64が限界でした。64*64以下は動きました。
陽炎 スクリプト作成してくださり、ありがとうございます。
マップが大きいとエラーがでてしまうのですね。