조회 수 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
    감사합니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 초급강의실 게임제작강좌 A-Z 색인 (2016.1.24 ver) 2 file 천무 2016.01.12 7372 1
52 중급강의실 아오오니처럼 따라오는 이벤트 만들기 5 빙냥이 2013.12.11 4357 3
51 중급강의실 발소리 강좌 ( + 주석포함 ) 7 빙냥이 2013.12.10 1695 1
50 중급강의실 아이템을 새로 만들어내고싶어요! 2 하프 2013.12.01 1405 0
49 고급강의실 죽노의 RGSS 이것저것(1) 6 죽은노예 2013.10.23 2129 1
48 중급강의실 외부 캐릭터 그래픽과 타일셋 그래픽 게임 내에 적용하기 Xanadu 2013.10.20 2244 0
47 중급강의실 [초보]누구나 할수있는 맵효과! 18 GM봉래산 2013.09.30 3750 5
» 고급강의실 [투달이의 아무짝에도 쓸모없는 강좌] Scene_title을 조작해 사람들을 농락해보자! 6 투달 2013.09.30 2123 0
45 중급강의실 RPG Maker XP 스위치조작하기 13  운 2013.09.26 2690 0
44 중급강의실 RPG Maker XP 암호화 하는법 13  운 2013.09.25 1966 0
43 중급강의실 게임제작에 대한 모든것! 게임제작지침서 강좌링크입니다. (1~18강) 2 마둠 2013.09.23 2052 0
42 중급강의실 RPGXP의 데미지 계산식 (Part 4. 힐과 크리티컬) 5 마니아 2013.09.17 2177 2
41 중급강의실 RPGXP의 데미지 계산식 (Part 3. 보정편) 4 마니아 2013.09.17 1988 2
40 중급강의실 RPGXP의 데미지 계산식 (Part 2. 스킬편) 4 마니아 2013.09.17 3754 2
39 중급강의실 RPGXP의 데미지 계산식 (Part 1. 기본공격편) 7 마니아 2013.09.17 4529 1
38 고급강의실 나뚜루's - Sprite 클래스 파헤치기 [4] 4 마니아 2013.09.17 2040 1
37 고급강의실 나뚜루's - Sprite 클래스 파헤치기 [3] 2 마니아 2013.09.17 1503 0
36 고급강의실 나뚜루's - Sprite 클래스 파헤치기 [2] 2 마니아 2013.09.17 1781 0
35 고급강의실 나뚜루's - Sprite 클래스 파헤치기 [1] 3 마니아 2013.09.17 2084 0
34 고급강의실 나뚜루's - 배열, 이렇게도 만들 수 있다. 2 마니아 2013.09.17 2101 0
33 고급강의실 게임 시작 전에만 로고를 띄우게 하는 팁 3 마니아 2013.09.17 2932 1
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 Next
/ 10






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

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