기타

그림자 없애기...

by 비극ㆍ posted Apr 19, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

맨님이 올려주신것 같은데 뭔가 이상해서

다른것 올립니당.....

#==============================================================================
#  Kill Autoshadows
#  Version: 2.0b
#  Author: modern algebra (rmrk.net) & Abt Plouton
#  Date: May 13, 2009
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This script allows you to disable or re-enable autoshadows at any time.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Place this script above Main and below Materials.
#
#    To disable autoshadows, use this code in a call script:
#
#      $game_map.autoshadows = false
#
#    To enable them, use this code:
#
#      $game_map.autoshadows = true
#==============================================================================

#==============================================================================
# ** Game Map
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - setup
#    new writer instance variable - autoshadows
#    new method - autoshadows
#==============================================================================

class Game_Map
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Public Instance Variables
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  attr_writer :autoshadows
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Get Autoshadows
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def autoshadows
    return @autoshadows unless @autoshadows.nil?
    @autoshadows = false
    return false
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Setup
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias ma_remove_auto_shadows_on_setup setup
  def setup (map_id)
    ma_remove_auto_shadows_on_setup (map_id)
    # Rather than repeatedly call a method, set a local variable to have it's data
    ma_data = data
    return if autoshadows
    # For all squares on the map
    for x in 0...(ma_data.xsize - 1)
      for y in 0...(ma_data.ysize - 1)
        # If house autotile
        if ma_data[x, y, 0] >= 4352 && ma_data[x, y + 1 ,0] >= 4352 &&
             ma_data[x + 1, y + 1, 0] < 4352
          # Delete auto Shadow
          ma_data[x, y, 1] = ma_data[x,y,0]
          ma_data[x, y, 0] = 0
        end
      end
    end
  end
end

끝...ㅇㅅㅇ..

출처:rmrk