<解決済>【RGSS2】砂漠、炎の洞窟で使われる[陽炎]を表現したい

Mirin
記事: 38
登録日時: 2018年10月20日(土) 15:52

<解決済>【RGSS2】砂漠、炎の洞窟で使われる[陽炎]を表現したい

投稿記事by Mirin » 2021年5月19日(水) 00:03

RGSS2で砂漠、炎の洞窟とかで使われる陽炎(かげろう)の素材を探しています。
探した結果、回想領域様のRGSS3でありましたが、RGSS2では再現は出来ないのかな?


回想領域 様から抜粋
http://kaisou-ryouiki.sakura.ne.jp/material/rgss3/heat_haze.txt
最後に編集したユーザー Mirin on 2021年6月10日(木) 22:05 [ 編集 1 回目 ]

TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: <未解決>【RGSS2】砂漠、炎の洞窟で使われる[陽炎]を表現したい

投稿記事by TOMO » 2021年6月10日(木) 19:26

今更だけど作ってみました

コード: 全て選択

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様のタイルセット拡張にも対応出来てるはず


※注意
マップが大きすぎるとエラーが出ます

正確には陽炎用に作られるマップ全体のスクショのファイルサイズの方だけど、
これは元からあった問題なので、わざと対処してません
Mirin
記事: 38
登録日時: 2018年10月20日(土) 15:52

Re: <未解決>【RGSS2】砂漠、炎の洞窟で使われる[陽炎]を表現したい

投稿記事by Mirin » 2021年6月10日(木) 22:05

マップで実際に入れて、陽炎らしくなりました。
64*64が限界でした。64*64以下は動きました。
陽炎 スクリプト作成してくださり、ありがとうございます。

マップが大きいとエラーがでてしまうのですね。

“VX / Ace:スクリプト素材のリクエスト” へ戻る