조회 수 297 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
>저가 스크린샷 대로 해봤는데..스크린샷처럼..
>빈공간이 생기네요..ㅠ.ㅠ
>키보드를 ↑ 이거 한번만 눌러보면 없어지는데..
>세이브나...게임종료 버튼만 눌렀다가 esc를 눌르면..저렇게 빈 공간이 생김니다..
>어떻게 처리 해야 하나요??
>
>저가 처리한 스크립트도 올리겠습니다
>
>#==============================================================================
># ■ Scene_Menu
>#------------------------------------------------------------------------------
>#  메뉴 화면의 처리를 실시하는 클래스입니다.
>#==============================================================================
>
>class Scene_Menu
>  #--------------------------------------------------------------------------
>  # ● 오브젝트 초기화
>  #     menu_index : 커멘드의 커서 초기 위치
>  #--------------------------------------------------------------------------
>  def initialize(menu_index = 0)
>    @menu_index = menu_index
>  end
>  #--------------------------------------------------------------------------
>  # ● 메인 처리
>  #--------------------------------------------------------------------------
>  def main
>    # 커멘드 윈도우를 작성
>    s1 = $data_system.words.item
>    s2 = $data_system.words.equip
>    s3 = "세이브"
>    s4 = "게임 종료"
>    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
>    @command_window.index = @menu_index
>    # 파티 인원수가 0 명의 경우
>    if $game_party.actors.size == 0
>      # 아이템, 스킬, 장비, 스테이터스를 무효화
>      @command_window.disable_item(0)
>      @command_window.disable_item(1)
>    end
>    # 세이브 금지의 경우
>    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
># 커멘드 윈도우가 액티브의 경우: update_command 를 부른다
>if @command_window.active
>  update_command
>      return
>    end
>    # 스테이터스 윈도우가 액티브의 경우: update_status 를 부른다
>    if @status_window.active
>      update_status
>      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  # 장비
>        # 결정 SE 를 연주
>        $game_system.se_play($data_system.decision_se)
>        # 스테이터스 윈도우를 액티브하게 한다
>        @command_window.active = false
>        @status_window.active = true
>        @status_window.index = 0
>      when 2  # 세이브
>        # 세이브 금지의 경우
>        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 3  # 게임 종료
>        # 결정 SE 를 연주
>        $game_system.se_play($data_system.decision_se)
>        # 게임 종료 화면으로 전환해
>        $scene = Scene_End.new
>      end
>      return
>    end
>  end
>  #--------------------------------------------------------------------------
>  # ● 프레임 갱신 (스테이터스 윈도우가 액티브의 경우)
>  #--------------------------------------------------------------------------
>  def update_status
>    # B 버튼이 밀렸을 경우
>    if Input.trigger?(Input::B)
>      # 캔슬 SE 를 연주
>      $game_system.se_play($data_system.cancel_se)
>      # 커멘드 윈도우를 액티브하게 한다
>      @command_window.active = true
>      @status_window.active = false
>      @status_window.index = -1
>      return
>    end
>    # C 버튼이 밀렸을 경우
>    if Input.trigger?(Input::C)
>      # 커멘드 윈도우의 커서 위치에서 분기
>      case @command_window.index
>      when 1  # 장비
>        # 결정 SE 를 연주
>        $game_system.se_play($data_system.decision_se)
>        # 장비 화면으로 전환해
>        $scene = Scene_Equip.new(@status_window.index)
>        when 2  # 스테이터스
>        # 결정 SE 를 연주
>        $game_system.se_play($data_system.decision_se)
>        # 스테이터스 화면으로 전환해
>        $scene = Scene_Status.new(@status_window.index)
>      end
>      return
>    end
>  end
>end
>
>
>이게 저가 해낸 것입니다..
>어떻게 처리 해야 하나요??




아시다 시피, 윈도우 아래에 있는 검은색은 어쩔수 없습니다.
그리고 커맨드에 이상이 오는 것은, 커맨드의 기초가 샐랙터블인데,
그 상태에서 열이 없는 부분에 소환을 시키면 자동생성이 되버리기 때문에
생기는 현상입니다.

수정법은 간단합니다.

Scene_Item, Equip, Status, Skill, End 에서, update 메소드에서,
if Input.trigger?(Input::B) 라는 것이 있을것입니다.
그 아래에 $scene = Scene_Menu.new(랜덤) 이라고 적혀 있을 겁니다.
Item은 0, Equip은 1, 세이브는 2, End 는 3.....이런식으로 교체해 주시면 됩니다.
그 외에 Status나 Skill은 Map 같은것으로 전환해 주세요.
(맵으로 전환하는 방법은 $scene = Scene_Map.new 이라고 적으시면 됩니다.)
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
8827 힐다의 학자금퀘스트 스크립트 관련 질문 5 심심치 2014.10.11 1833
8826 흠...오프닝에 관한 질문인데요. 다크아머 2005.05.28 472
8825 흠...오프닝에 관한 질문인데요. Survivor-c 2005.05.28 621
8824 흠.. 케릭터가 안움직여져요.... 일당백 2005.08.20 465
8823 흠.. 케릭터가 안움직여져요.... 카리스 2005.08.20 372
8822 흠.. 케릭터가 안움직여져요.... ☆무적기사★ 2005.08.21 527
8821 흠.. 맵배치에 관해서.. 1 『덩키동크』 2006.02.20 441
8820 흠.. 맵배치에 관해서.. 아두 2006.02.20 421
8819 흠.. 궁금한거 하나 있는데요.. 1 다크진™ 2005.08.06 494
8818 흠.. rpg2003에 대해서 인데요 꼭좀 알려주시면... 재티s 2005.11.06 976
8817 흠.. 2k만하다가 xp하려는데.. 1 잘생긴넘 2007.02.14 680
8816 흠,, 뭐가 문제인지좀,, 좌표의 이동에대해,, XLostTimesX 2006.01.10 434
8815 흠 그;;; 조건분기그런거 할때 쓰는 명령어좀~~ ☆무적기사★ 2005.08.05 497
8814 아마란스 2005.06.19 318
8813 ★RPG_Maker★ 2005.09.02 522
8812 흑흑 콩나물 2015.05.16 361
8811 흑인rpg왜없어짐? 2 자라토끼 2014.05.18 586
8810 흑백으로 만들기(RPG2003)(빠른답변부탁) 『덩키동크』 2006.05.25 1040
8809 흑백으로 만들기(RPG2003)(빠른답변부탁) 1 cyverjen 2006.05.25 1093
8808 흑룡님 사라진터전 최신판 없나요? 2 에에... 닉넴바뀨라네요.. 2014.06.22 414
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)