>게임 도중에..
>esc를 누르면
>아이템
>장비
>스킬
>스테이터스
>세이브
>종료
>이런식으로 있잖아요^^
>저거를 삭제 시키는방법 없나요??
>아이템
>세이브
>종료
>이런식으로만 둘려고 하는데..
>데이터베이스를 잘못 만졌는지..
>은근히 잘만들어 가던 게임도 날린상태이네요..ㅠ.ㅠ
>저런식으로 바꿀려고 하는데..
>어느 부분을 삭제해야 하는지를좀 알려주세요!!
>부탁 드림니다!
방법은 간단합니다만, 문제는 3개만 하면 여백이 생깁니다....
윈도우를 추가해서 여백을 매꾸는 방법도 있죠...
어떠한 내용을 추가하셨다면 아래의 스크립트에서 참조만 하세요.
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
# 커멘드 윈도우를 작성
s1 = "아이템"
s2 = "세이브"
s3 = "종료"
@command_window = Window_Command.new(160, [s1, s2, s3])
@command_window.index = @menu_index
# 세이브 금지의 경우
if $game_system.save_disabled
# 세이브를 무효로 한다
@command_window.disable_item(2)
end
# 플레이 시간 윈도우를 작성
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
# 보수 윈도우를 작성
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
# 골드 윈도우를 작성
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# 스테이터스 윈도우를 작성
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
# 트란지션 실행
Graphics.transition
# 메인 루프
loop do
# 게임 화면을 갱신
Graphics.update
# 입력 정보를 갱신
Input.update
# 프레임 갱신
update
# 화면이 바뀌면 루프를 중단
if $scene != self
break
end
end
# 트란지션 준비
Graphics.freeze
# 윈도우를 해방
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
end
#--------------------------------------------------------------------------
# ● 프레임 갱신
#--------------------------------------------------------------------------
def update
# 윈도우를 갱신
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
# 커멘드 윈도우가 액티브의 경우: update_command 를 부른다
if @command_window.active
update_command
return
end
end
#--------------------------------------------------------------------------
# ● 프레임 갱신 (커멘드 윈도우가 액티브의 경우)
#--------------------------------------------------------------------------
def update_command
# B 버튼이 밀렸을 경우
if Input.trigger?(Input::B)
# 캔슬 SE 를 연주
$game_system.se_play($data_system.cancel_se)
# 맵 화면으로 전환해
$scene = Scene_Map.new
return
end
# C 버튼이 밀렸을 경우
if Input.trigger?(Input::C)
# 파티 인원수가 0 명으로, 세이브, 게임 종료 이외의 커멘드의 경우
if $game_party.actors.size == 0 and @command_window.index < 4
# 버저 SE 를 연주
$game_system.se_play($data_system.buzzer_se)
return
end
# 커멘드 윈도우의 커서 위치에서 분기
case @command_window.index
when 0 # 아이템
# 결정 SE 를 연주
$game_system.se_play($data_system.decision_se)
# 아이템 화면으로 전환해
$scene = Scene_Item.new
when 1 # 세이브
# 세이브 금지의 경우
if $game_system.save_disabled
# 버저 SE 를 연주
$game_system.se_play($data_system.buzzer_se)
return
end
# 결정 SE 를 연주
$game_system.se_play($data_system.decision_se)
# 세이브 화면으로 전환해
$scene = Scene_Save.new
when 2 # 게임 종료
# 결정 SE 를 연주
$game_system.se_play($data_system.decision_se)
# 게임 종료 화면으로 전환해
$scene = Scene_End.new
end
return
end
end
end