조회 수 2123 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

먼저 이걸 scence_title에다가 복붙해줍니다.

 

#==============================================================================
# ■ 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 = "뉴 게임"
    s2 = "콘티뉴"
    s3 = "슛 다운"
    @command_window = Window_Command.new(192, [s1, s2, s3])
    @command_window.back_opacity = 160
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 288
    # 콘티 뉴 유효 판정
    # 세이브 파일이 하나에서도 존재할지를 조사한다
    # 유효하면 @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_enabled2
      @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  # 본격 인간 농락시작
        p "님속음 ㅋㅋㅋ"
        Audio.bgm_play("Audio/BGM/")

       command_shutdown

      when 1  # 인간 농락 두번째
        p "뉴게임도 않되는데 이어서는 뭐하게 ㅋㅋㅋ"
        Audio.bgm_play("Audio/BGM/")

       command_shutdown

             when 2  # 인간 농락 세번째
        p "메롱 헤헤헤헤"

       Audio.bgm_play("Audio/BGM/")

      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 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

 

 자. 설명드리겠습니다.

#--------------------------------------------------------------------------
  # ● 낚시시작
  #--------------------------------------------------------------------------
  def update
    # 커멘드 윈도우를 갱신
    @command_window.update
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
      # 커멘드 윈도우의 커서 위치에서 분기
      case @command_window.index
      when 0  # 본격 인간 농락시작
        p "님속음 ㅋㅋㅋ"
        Audio.bgm_play("Audio/BGM/")

       command_shutdown

      when 1  # 인간 농락 두번째
        p "뉴게임도 않되는데 이어서는 뭐하게 ㅋㅋㅋ"
        Audio.bgm_play("Audio/BGM/")

       command_shutdown

      when 2  # 인간 농락 세번째
        p "메롱 헤헤헤헤"

       Audio.bgm_play("Audio/BGM/")

      command_shutdown
      end
    end
  end

----------------------------------------------------------

이부분을 잘봐주세요

when 0  # 본격 인간 농락시작
        p "님속음 ㅋㅋㅋ"
        Audio.bgm_play("Audio/BGM/")

       command_shutdown

여기 부분은 뉴게임 부분입니다. 즉. 뉴게임버튼을 누르면 실행되는 거에요.

여기 보시면

p "님속음ㅋㅋㅋ"부분은 님속음ㅋㅋㅋ 라는것을 게임에 출력하게 하는 것입니다.

즉p "할말" 이렇게 하시면 그 말이 그대로 게임에 출력하게 되는거죠.

그다음

Audio.bgm_play("Audio/BGM/") 이 부분을 솔직히 없애도 상관은 없어요 헤헤.

그냥 낚이는거 제대로 낚이라고 집어넣은 거에요. 여하튼 설명해보자면.

Audio.bgm_play-오디오.bgm을 시작한다.

("Audio/BGM/")-Audio/BGM/ 폴더에있는 BGM을 실행시킨다.

그러니깐 즉. ("Audio/BGM/실행시킬 bgm제목")이렇게 하면 그 제목을 가진bgm이 실행하게 됩니다.

 

그다음 셧다운 부분이에요

command_shutdown - 이거는 그냥 커맨드_셧다운. 즉 게임이 셧다운(종료)되는 거에요.

 

자 이렇게 하면

뉴게임 버튼을 누를때 입력된 값을 출력하게되고 그 다음 훼이크bgm이 들리며 게임이 꺼지게 되죠.

즉 사람을 엄청 빡치게 하는거랄까요 헤헤.

 

그리고 나머지 2개가 더있는데. 아까 위에서 설명했듯이 다 똑같아요. 훼이크 bgm이 없다면 그냥

 Audio.bgm_play("Audio/BGM/") 이부분을 없애면 되구요.

 

저의 강좌는 여기까지입니다.

 

ps.그래도 확실하게 낚이게 하려면 그럴듯한 타이틀과 bgm을 깔아놓는건 어떨까싶네요 히히 그리고 2번째로 하는거고 루비를 잘몰라서 그런지 설명이 엉망인것같기도해요. 그래도 이쁘게 봐주세요 뿌잉뿌ㅇ...<퍽

 

 

강좌 by투달

?
  • ?
    ↑고수의길↑ 2013.10.14 02:21
    어디서 본것 같은데...
    어디였지...
  • ?
    2013.10.19 22:16
    그건 제가 전에 적용시켰던 수법인데...
  • ?
    2013.10.30 04:30
    콘티뉴가 아니라 콘티 뉴인 이유는 사람들이 뉴를 nue가 아닌 new로 착각하는것같음 ㅋㅋㅋㅋ
  • ?
    진격의Ally 2013.11.10 06:03
    ㅋㅋ
  • ?
    2013.11.18 02:19
    어차피 낚이는걸로 하려면 모든 스크립트의 99.99%는 삭젷해도 될듯....
  • ?
    리폼 2014.02.03 02:45
    감사합니다.

  1. 게임제작강좌 A-Z 색인 (2016.1.24 ver)

    Date2016.01.12 Category초급강의실 By천무 Views7379 Votes1
    read more
  2. 아오오니처럼 따라오는 이벤트 만들기

    Date2013.12.11 Category중급강의실 By빙냥이 Views4357 Votes3
    Read More
  3. 발소리 강좌 ( + 주석포함 )

    Date2013.12.10 Category중급강의실 By빙냥이 Views1695 Votes1
    Read More
  4. 아이템을 새로 만들어내고싶어요!

    Date2013.12.01 Category중급강의실 By하프 Views1405 Votes0
    Read More
  5. 죽노의 RGSS 이것저것(1)

    Date2013.10.23 Category고급강의실 By죽은노예 Views2129 Votes1
    Read More
  6. 외부 캐릭터 그래픽과 타일셋 그래픽 게임 내에 적용하기

    Date2013.10.20 Category중급강의실 ByXanadu Views2245 Votes0
    Read More
  7. [초보]누구나 할수있는 맵효과!

    Date2013.09.30 Category중급강의실 ByGM봉래산 Views3751 Votes5
    Read More
  8. [투달이의 아무짝에도 쓸모없는 강좌] Scene_title을 조작해 사람들을 농락해보자!

    Date2013.09.30 Category고급강의실 By투달 Views2123 Votes0
    Read More
  9. RPG Maker XP 스위치조작하기

    Date2013.09.26 Category중급강의실 By 운 Views2690 Votes0
    Read More
  10. RPG Maker XP 암호화 하는법

    Date2013.09.25 Category중급강의실 By 운 Views1968 Votes0
    Read More
  11. 게임제작에 대한 모든것! 게임제작지침서 강좌링크입니다. (1~18강)

    Date2013.09.23 Category중급강의실 By마둠 Views2052 Votes0
    Read More
  12. RPGXP의 데미지 계산식 (Part 4. 힐과 크리티컬)

    Date2013.09.17 Category중급강의실 By마니아 Views2180 Votes2
    Read More
  13. RPGXP의 데미지 계산식 (Part 3. 보정편)

    Date2013.09.17 Category중급강의실 By마니아 Views1990 Votes2
    Read More
  14. RPGXP의 데미지 계산식 (Part 2. 스킬편)

    Date2013.09.17 Category중급강의실 By마니아 Views3759 Votes2
    Read More
  15. RPGXP의 데미지 계산식 (Part 1. 기본공격편)

    Date2013.09.17 Category중급강의실 By마니아 Views4534 Votes1
    Read More
  16. 나뚜루's - Sprite 클래스 파헤치기 [4]

    Date2013.09.17 Category고급강의실 By마니아 Views2040 Votes1
    Read More
  17. 나뚜루's - Sprite 클래스 파헤치기 [3]

    Date2013.09.17 Category고급강의실 By마니아 Views1503 Votes0
    Read More
  18. 나뚜루's - Sprite 클래스 파헤치기 [2]

    Date2013.09.17 Category고급강의실 By마니아 Views1781 Votes0
    Read More
  19. 나뚜루's - Sprite 클래스 파헤치기 [1]

    Date2013.09.17 Category고급강의실 By마니아 Views2086 Votes0
    Read More
  20. 나뚜루's - 배열, 이렇게도 만들 수 있다.

    Date2013.09.17 Category고급강의실 By마니아 Views2101 Votes0
    Read More
  21. 게임 시작 전에만 로고를 띄우게 하는 팁

    Date2013.09.17 Category고급강의실 By마니아 Views2932 Votes1
    Read More
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 Next
/ 10






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

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