맵/타일

SG_Map Pause ver.1 by sandgolem

by 백호 posted Feb 22, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
#==========================================================================
# ** SG Map Pause
#==========================================================================
# sandgolem
# Version 1
# 29.06.06
#==========================================================================

Scene_Map::SG_MapPause_Text = 'pausetext'
Scene_Map::SG_MapPause_Back = 'blackpause'
Scene_Map::SG_MapPause_BackOpacityMax = 160
Scene_Map::SG_MapPause_BackOpacitySpd = 1

#==========================================================================
#
# To check for updates or find more script-xs, visit:
# http://www.gamebaker.com/rmxp/script-xs/
#
# To use this script-x, copy it and insert it in a new section above "Main",
# but under the default script-xs and the SDK if you're using it.
#
# Have problems? You can leave me a message at:
# http://www.gamebaker.com/users/sandgolem
#
#==========================================================================

begin
SDK.log('SG Map Pause', 'sandgolem', 1, '29.06.06')
if SDK.state('SG Map Pause') != true
@sg_mappause_disabled = true
end
rescue
end

if !@sg_mappause_disabled
#--------------------------------------------------------------------------

class Scene_Map
def sg_start_pause
$game_system.se_play($data_system.decision_se)
@sg_mpausedelay = 20
@sg_map_paused = true
@sg_mpause_background = Sprite.new
@sg_mpause_background.bitmap = RPG::Cache.title(SG_MapPause_Back)
@sg_mpause_background.opacity = 1
@sg_mpause_background.z = 4999
@sg_mpause_text = Sprite.new
@sg_mpause_text.bitmap = RPG::Cache.title(SG_MapPause_Text)
@sg_mpause_text.opacity = 25
@sg_mpause_text.z = 5000
end

def sg_pause_effect
if Input.trigger?(Input::B) or Input.trigger?(Input::C) or
Input.trigger?(Input::F5)
if !@sg_mpauseresume && @sg_mpausedelay < 1
$game_system.se_play($data_system.cancel_se)
@sg_mpauseresume = 21
@sg_mpause_fade = @sg_mpause_background.opacity / 20
end
end
if @sg_mpauseresume
@sg_mpauseresume -= 1
if !@sg_mpause_background.disposed?
@sg_mpause_background.opacity -= @sg_mpause_fade
end
if @sg_mpauseresume <= 11
if !@sg_mpause_text.disposed?
@sg_mpause_text.opacity -= 25
end
end
if @sg_mpauseresume == 1
@sg_mpause_background.dispose
@sg_mpause_text.dispose
end
if @sg_mpauseresume == 0
@sg_map_paused = nil
@sg_mpauseresume = nil
end
elsif @sg_mpausedelay
@sg_mpausedelay -= 1
if @sg_mpausedelay > 10
@sg_mpause_text.opacity += 25
end
if @sg_mpause_background.opacity < SG_MapPause_BackOpacityMax
@sg_mpause_background.opacity += SG_MapPause_BackOpacitySpd
end
end
end

alias sandgolem_mappause_map_update update
def update
if Input.trigger?(Input::F5) && !@sg_map_paused
sg_start_pause
end
if @sg_map_paused
sg_pause_effect
return
end
sandgolem_mappause_map_update
end
end

#--------------------------------------------------------------------------
end


종류
플레이어들이 잠시 멈추도록 허락합니다 지도에 있는 동안에 게임.
가장 많은 중지 원고들과 달리, 게임이 잠시 멈출 때 이것은 Scene을 변화시키지 않고 천천히 바탕색을 밝아지지 않습니다.

배치
새로운 RGSS 원고로서 이렇게, 디폴트 Script-xs의 아래, Main 위에 삽입물(복사와 풀). 만약 당신이 그것을 사용하고 있으면 표준 Development Kit(SDK)의 아래 그것을 놓습니다.

훈련
긴급한 F5는 잠시 멈출 것입니다 스크린(변화될 수 있습니다, 그것에 대한 탐색).
잠시 멈추지 않기 위하여, 당신은 다시 F5을 누를 수 있습니다 또는 행동 / 메뉴 버튼들.

꼭대기에 이 선들을 수정하십시오 :
Scene_Map::SG_MapPause_Text = 'pausetext' Scene_Map::SG_MapPause_Back = 'blackpause' Scene_Map::SG_MapPause_BackOpacityMax = 160 Scene_Map::SG_MapPause_BackOpacitySpd = 1
MapPause_Text & MapPause_Back는 당신의 'Gram_Slash_N' 주소록에 이미지들을 필요로 합니다.
파일 이름을 사용하십시오, 내선 전화기, 그리고 생활없이 그것의 주위에.

MapPause_Text 도형은 거의 즉시 그것이 잠시 멈출 때 전체 불투명까지 점점 뚜렷해질 것입니다.
MapPause_Back의 페이드 인은 다음 2 라인에 의하여 대조받습니다.

SG_MapPause_BackOpacityMax는 20에서 255까지 수로 두어지어야 합니다.
SG_MapPause_BackOpactiySpd는 빨리 그것이 충분히 나타나는 방법입니다. 1 또는 그 이상이어야 합니다.