#============================================================================ # # ■影消しタイル □Ver1.01 □製作者:月紳士 # ・RPGツクールVX用 RGSS2スクリプト # # ●…書き換えメソッド(競合注意) ◎…メソッドのエイリアス ○…新規メソッド # # ※二次配布禁止!配布元には利用規約があります。必ずそちらを見てください。 #------------------------------------------------------------------------------ =begin  配置すると配置した場所の自動生成の影を消すことのできる  「影消しタイル」を作成します。  影消しタイルに使用したいタイルをひとつ、ID指定してください。  タイル画像は必須ではありませんが、用意するとマップ制作時は便利です。  このタイルの画像は、ゲーム中には表示されません。  ※仕組みの説明   自動で影が生成されるのは、左と左上のタイル両方が壁(もしくは天井)の時です。   通常それらはレイヤー0(重なりの一番下)に配置されます。   同じ物をレイヤー1(ひとつ上)に配置すると、   表示上は変化はありませんが、影を生成する条件からはずれてしまいます。   (レイヤー1は森や山を重ねて配置する為の空きレイヤーです)   この仕様を利用しています。   影消しタイルの左上にある壁タイルを、   レイヤー0からレイヤー1に移動する、というような処理をしています。   それによって、結果、   見た目を変えることなく、影消しタイルの位置の影を消すことが可能です。   ※ この時、影消しタイルの上位置にも影があった場合、    同時にそれも消してしまいますが、これは仕様となっています。  ※このスクリプトの機能は、   月紳士作成の「壁タイル拡張」スクリプトに含まれております。   壁タイル拡張を導入の際は、このスクリプトは不要です。 =end #============================================================================== # □ 影消しタイル(カスタマイズ項目) #============================================================================== module Shadow_Eraser TILE_ID = 768 end #============================================================================== # ■ Game_Map #------------------------------------------------------------------------------ #  マップを扱うクラスです。スクロールや通行可能判定などの機能を持っています。 # このクラスのインスタンスは $game_map で参照されます。 #============================================================================== class Game_Map #-------------------------------------------------------------------------- # ◎ セットアップ # map_id : マップ ID #-------------------------------------------------------------------------- alias tig_se_setup setup def setup(map_id) tig_se_setup(map_id) for x in 0...width for y in 0...height if @map.data[x, y, 2] == Shadow_Eraser::TILE_ID r_x = round_x(x - 1) ; r_y = round_y(y - 1) @map.data[x, y, 2] = 0 @map.data[r_x, r_y, 1] = @map.data[r_x, r_y, 0] @map.data[r_x, r_y, 0] = 0 end end end end end