조회 수 3261 추천 수 1 댓글 11
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

일단 이런기능구현 하고싶은분들 있으실텐데 어케하는지 모르는분이 많드라구요..

 

 

참고로 이건 제가만들고있는 게임 타이틀;;

 

그리고 여러분이 이런 기능구현을 쉽게할수있도록 스크립트를 조작해왔죠

근데 간혹가다 스크립트라면

?워매스퀴립트너뮤복좝했메!!!!

?..라는 분들이 계십니다 ..

근데 별로 어려운것 아니니 따라해보세요

자, 일단 이 스크립트를 복사하세요

#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  타이틀 화면의 처리를 실시하는 클래스입니다.
#==============================================================================

class Scene_Title
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  def main
    # 전투 테스트의 경우
    if $BTEST
      battle_test
      return
    end
    # 데이타베이스를 로드
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # 시스템 오브젝트를 작성
    $game_system = Game_System.new
    # 타이틀 그래픽을 작성
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)
    # 커멘드 윈도우를 작성
    s1 = "GAME START"
    s2 = "CONTINUE"
    s3 = "HOW TO PLAY"
    s4 = "가고싶은 사이트이름"
    s5 = "NEXT"
    @command_window = Window_Command.new(192, [s1, s2, s3, s4, s5])
    @command_window.back_opacity = 160
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 250
    # 콘티 뉴 유효 판정
    # 세이브 파일이 하나에서도 존재할지를 조사한다
    # 유효하면 @continue_enabled 를 true, 무효라면 false 로 한다
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    # 콘티 뉴가 유효한 경우, 커서를 콘티 뉴에 맞춘다
    # 무효인 경우, 콘티 뉴의 문자를 그레이 표시로 한다
    if @continue_enabled
      @command_window.index = 1
    else
      @command_window.disable_item(1)
    end
    # 타이틀 BGM 를 연주
    $game_system.bgm_play($data_system.title_bgm)
    # ME, BGS 의 연주를 정지
    Audio.me_stop
    Audio.bgs_stop
    # 트란지션 실행
    Graphics.transition
    # 메인 루프
    loop do
      # 게임 화면을 갱신
      Graphics.update
      # 입력 정보를 갱신
      Input.update
      # 프레임 갱신
      update
      # 화면이 바뀌면 루프를 중단
      if $scene != self
        break
      end
    end
    # 트란지션 준비
    Graphics.freeze
    # 커멘드 윈도우를 해방
    @command_window.dispose
    # 타이틀 그래픽을 해방
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  def update
    # 커멘드 윈도우를 갱신
    @command_window.update
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
      # 커멘드 윈도우의 커서 위치에서 분기
      case @command_window.index
      when 0  # 뉴 게임
        command_new_game
      when 1  # 콘티 뉴
        command_continue
      when 2  # 방법
        print ("HOW TO PLAY : 스페이스바:선택, 방향키:이동")
      when 3  # 홈페이지
        print ("(가고싶은사이트이름) 로이동합니다.")
        OpenBrowser("가고싶은 사이트주소")
      when 4  # 슛다운
        command_shutdown
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 커멘드 : 뉴 게임
  #--------------------------------------------------------------------------
  def command_new_game
    # 결정 SE 를 연주
    $game_system.se_play($data_system.decision_se)
    # BGM 를 정지
    Audio.bgm_stop
    # 플레이 시간 계측용의 프레임 카운트를 리셋트
    Graphics.frame_count = 0
    # 각종 게임 오브젝트를 작성
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # 초기 파티를 셋업
    $game_party.setup_starting_members
    # 초기 위치의 맵을 셋업
    $game_map.setup($data_system.start_map_id)
    # 플레이어를 초기 위치에 이동
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    # 플레이어를 리프레쉬
    $game_player.refresh
    # 맵으로 설정되어 있는 BGM 와 BGS 의 자동 변환을 실행
    $game_map.autoplay
    # 맵을 갱신 (병렬 이벤트 실행)
    $game_map.update
    # 맵 화면으로 전환해
    $scene = Scene_Map.new
  end
  #--------------------------------------------------------------------------
  # ● 커멘드 : 콘티 뉴
  #--------------------------------------------------------------------------
  def command_continue
    # 콘티 뉴가 무효의 경우
    unless @continue_enabled
      # 버저 SE 를 연주
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # 결정 SE 를 연주
    $game_system.se_play($data_system.decision_se)
    # 로드 화면으로 전환해
    $scene = Scene_Load.new
  end
  #--------------------------------------------------------------------------
  # ● 커멘드 : 슛다운
  #--------------------------------------------------------------------------
  def command_shutdown
    # 결정 SE 를 연주
    $game_system.se_play($data_system.decision_se)
    # BGM, BGS, ME 를 페이드아웃
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 슛다운
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ● コマンド : シャットダウン
  #--------------------------------------------------------------------------
  def command_shutdown
    # 決定 SE を演奏
    $game_system.se_play($data_system.decision_se)
    # BGM、BGS、ME をフェ?ドアウト
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # シャットダウン
    $scene = nil
  end    
  def OpenBrowser(url)
    se = Win32API.new("shell32", "ShellExecute", ['L','P','P','P','P','L'], 'L' )
    se.Call(0, "open", url, 0, 0, 0)
  end
  #--------------------------------------------------------------------------
  # ● 전투 테스트
  #--------------------------------------------------------------------------
  def battle_test
    # 데이타베이스 (전투 테스트용)를 로드
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
    # 플레이 시간 계측용의 프레임 카운트를 리셋트
    Graphics.frame_count = 0
    # 각종 게임 오브젝트를 작성
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # 전투 테스트용의 파티를 셋업
    $game_party.setup_battle_test_members
    # 무리 ID, 도주 가능 플래그, 배틀 가방을 설정
    $game_temp.battle_troop_id = $data_system.test_troop_id
    $game_temp.battle_can_escape = true
    $game_map.battleback_name = $data_system.battleback_name
    # 배틀 개시 SE 를 연주
    $game_system.se_play($data_system.battle_start_se)
    # 배틀 BGM 를 연주
    $game_system.bgm_play($game_system.battle_bgm)
    # 배틀 화면으로 전환해
    $scene = Scene_Battle.new
  end
end

자..

요걸 드래그해서 복사한뒤


 자아, 저기 Scene TILIe보이시죠?

거기있는 알마먹지도 못할 글자들 모조리 지워줍시다 ㅋ

요로케 모조리 싹 지워버리고나서,

아까 그걸 붙여넣고, 밑으로 쭉쭉 내려주다 보면

이런게 나옵니다

 

 

실제로는

#--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  def update
    # 커멘드 윈도우를 갱신
    @command_window.update
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
      # 커멘드 윈도우의 커서 위치에서 분기
      case @command_window.index
      when 0  # 뉴 게임
        command_new_game
      when 1  # 콘티 뉴
        command_continue
      when 2  # 방법
        print ("HOW TO PLAY : 스페이스바:선택, 방향키:이동")
      when 3  # 홈페이지
        print ("(가고싶은사이트이름) 로이동합니다.")
        OpenBrowser("가고싶은 사이트주소")
      when 4  # 슛다운
        command_shutdown
      end
    end
  end
  #--------------------------------------------------------------------------

이렇게 되어있는데

거기 가고싶은 싸이트 이름이랑 

가고싶은 싸이트 주소라고 써있는 데가 빨강파랑 상자입니다

알맞게 수정해주시면 됩니다.

뭐 이렇게해놓고 실행해보저 ㅋ

호오~

이렇게 됩니다

HOW TO PLAY는 덤이에요 ㅋ

여기서 니오티를 누르면 니오티로 이동하게되져 ㅋ

 

한번 해보세요 이거 꽤 쓸만합니다

 

 

 

 

 

 

 

 

 

  • ?
    날려쁜다메이플 2010.04.26 15:32

    와우 올만에 보네요...니오티에 요즘 옛날에 본 사람들이 없네요.;;

    이 강좌 참고 할게요 ㅠㅠ 건즈93짤을 만렙키운다고 니오티 못들어왓으..중간고사친다고 들어서 공부한다고 못들어왔으..

    니오티들갈때마다 렉걸려 ㅠㅠㅠ

  • ?
    rlawnsahXP 2010.04.26 18:01

    ㅎㅎ

    저 니오티온지 꽤됫는데 ㅋㅋ

    이리 존재감이 없어서야;;

    그나저나 날려쁜다메이플님 오랜만이네요;;

  • ?
    ruby 2010.04.28 15:18

    오오 꼭필요한 강의로군요

  • profile
    은하계 2010.05.03 22:55

    와우 감사합니다

  • ?
    CooLLuK 2010.07.05 20:17

    에공 좀 어렵..

  • ?
    rlawnsahXP 2010.08.04 10:38

    아 글고

    NEXT가 아니라 EXIT 인데

    제가  잘못썼군요 ㅋㅋ

  • ?
    Scarf 2010.09.02 17:47

    그런데 저 스크립트 복사하고 나서 사이트 주소를 입력했는데

    이동이 안 되더라고요... 왜 그런가요?

  • ?
    rlawnsahXP 2010.09.02 18:30

    가고싶은 사이트주소라고 되있는건 지우세요

  • ?
    레크리스 피스트 2010.10.10 13:12

    오옷! 정말대단하십니다.

  • ?
    레시라무 2011.06.04 08:21

    오옷!!

     

  • ?
    음무스핑 2015.06.13 12:59
    모바일은 되는 방법이 없을까요.? ㅠㅠ

List of Articles
분류 제목 조회 수 추천 수
맵 배치 이해하기 2 2826 13
레이어 조정법! 2 2440 13
액션알피지 2페이지 액알기초강좌. 18 file 7751 12
장르변경 2페이지 액알기초강좌. 18 file 6772 11
장르변경 훨씬 멋진 액션알피지 만들기 19 5164 10
액션알피지 훨씬 멋진 액션알피지 만들기 24 6761 10
액션알피지 아마 가장 초보적이고도 획기적인(?) 액알? 28 file 8748 10
장르변경 커먼이벤트로 대쉬기능 만들기. 16 4087 9
픽쳐를 이용한 생명력 표시 12 file 2185 9
단축키 고정된 단축키 만들기 7 file 3303 9
기능구현 낚시 기능 구현하기 24 file 4134 8
단축키 고정된 단축키 만들기 8 file 3018 8
기능구현 낚시 기능 구현하기 22 file 4367 8
장르변경 스크립트를 이용하지 않은 대쉬강좌 6 file 3042 7
표지판?? 활용해보자!! 3 2111 7
단축키 RPG XP에서의 단축키 1 4084 7
커먼이벤트로 대쉬기능 만들기. 13 2943 7
[xp] 파노라마 그래픽 사용법 2394 7
캐릭터/이벤트(NPC) 은행을 만들어 보자(이자와 대출 기능까지) 2 file 2955 6
기타 프로젝트 게임 이름 직접 바꾸기 10 file 3297 6
집만들기, 움직이고 소리나는 문 만들기 5 file 4376 6
액션알피지 스크립트를 이용하지 않은 대쉬강좌 9 file 3227 6
이벤트 캐릭터, 어떻게 불러올까? 이젠 걱정 끝! 4 3999 6
스테이터스에 관해서... 3 1959 6
이동/점프/장소이동 열쇠가 있어야만 집으로 들어갈수있게 설정하기! 14 file 4059 6
데이터베이스 자신의 게임 이름을 쉽고간단하게 바꾸기 10 file 2746 6
RPG만들기 XP 집만들기,움직이고 소리나는 문 만들기 6 file 5741 6
설치하기 RPG만들기XP 설치하기 2 file 12226 5
캐릭터/이벤트(NPC) 기초 변신강의 3 file 2966 5
변수/난수(랜덤) 기초, 변수란? 4 2591 5
기초 변신강의 3 file 2138 5
단축키 아이탬 토글. 따라하다보면 된다!. 1 file 2994 5
스크립트 오류날때? 이렇게 해보면 어떨까? 3 2792 5
이벤트 보물상자를 열어봅시당당당당당~(퍽퍽) 2 3173 5
기초, 변수란? 4 1852 5
이벤트 통 몇 대 때리고 통터트리기 13 file 3941 5
[RPG XP] 점프 기능 만들기 12 3694 4
전투 XP좀더지능적인데미지를구사해보자!!!(미스와크리티컬도 포함!!) 3 3199 4
마법/스킬/기술 일반 마법, 전체 마법에 대한 적용 어빌리티 2 2580 4
[중요] 전체화면으로 게임을 실행하기. 17 10717 4
기타 아오오니가 문따고들어오는 구현, 9 file 3547 3
퀘스트 빈츠님 요청 아이템 모아오기 퀘스트강좌 7 file 3517 3
오프닝/엔딩 또다른 오프닝.. 10 file 3774 3
이동/점프/장소이동 물속에서 놀기;;(예제) 3 file 3684 3
퀘스트 빈츠님 요청 아이템 모아오기 퀘스트강좌 8 file 4145 3
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10

Copyright ⓒ Nioting All Rights Reserved. (since 1999)    개인정보
        

Fatal error: Cannot access property sessionController::$lifetime in /web/old/xe/modules/session/session.controller.php on line 45