질문과 답변

Extra Form

 

 

 두개의 이벤트를 만들고, 하나는 병렬처리, 애니메이션의 재생 + 대기 60프레임 으로 1초 간격으로 애니메이션이 반복 재생되게 하였습니다.

그리도 다른 이벤트에는 병렬처리로 대화 메시지창을 띄었는데 메시지 창이 떠있는 동안에는 애니메이션 재생이 중단되었습니다.


이를 해결할 방법이 없을까요? 

 

 

 

 

 

■ 질문전 필독!
  • 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
  • 하나의 게시물에는 하나의 질문만 합니다.
  • 제목은 질문의 핵심 내용으로 작성합니다.
  • 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
  • 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
  • 답변받은 게시물은 삭제하지 않습니다.
  • 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
    • 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!

※ 미준수시 사전경고 없이 게시물을 삭제합니다.

Comment '8'
  • profile
    러닝은빛 2018.02.15 17:45

    그냥 메인 씬에 스크립트를 추가하면 그런식으로 돌아갑니다.


    물론 맵 구분이나 실행 토글 같은 건 없지만, if문 몇 개 추가하면 될듯 하네요.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    # 작성자 : 러닝은빛
    # 작성일 : 2018.02.15
     
    module SPECIFIC_EVENT
      
      # -1은 플레이어, 0은 이 이벤트, 나머지는 이벤트 ID
      ID = -1
      
      # 실행 간격
      INTERVAL = 1
      
      # 애니메이션 ID
      ANIMATION_ID = 10
      
    end
     
    class Scene_Map < Scene_Base
      alias xxxx_start start
      def start
        xxxx_start
        @run_interval = Time.now.to_i
      end
      
      alias xxxx_update update
      def update
        xxxx_update
        run_specific_event
      end  
      
      def run_specific_event
        
        # 애니메이션 주기적으로 재생
        if Time.now.to_i - @run_interval >= SPECIFIC_EVENT::INTERVAL
          $game_map.interpreter.get_character(SPECIFIC_EVENT::ID).animation_id = SPECIFIC_EVENT::ANIMATION_ID
          @run_interval = Time.now.to_i
        end
      end
      
    end
    cs



    아니면 쓰레드 생성으로 하는 방법도 있습니다. 이런 느낌입니다. 한 번만 실행하면 계속 돌아가는 코드입니다. (이건 스크립트 커맨드 쪽)


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    # 시간 저장
    $game_variables[1= Time.now.to_i
     
    # 새로운 쓰레드 생성
    Thread.new {
     loop do
      if Time.now.to_i - $game_variables[1>= 1
        $game_map.interpreter.get_character(-1).animation_id = 10
        $game_variables[1= Time.now.to_i
      end
      # 맵이 아니면 쓰레드 탈출
      break unless SceneManager.scene_is?(Scene_Map)
     end
    }
    cs
  • ?
    위키니트러 2018.02.17 00:14
    답변 감사합니다! 그런데 이 스크립트를 어떻게 적용하는지 잘 모르겠습니다 ㅠㅠ
    첫번째 스크립트는 소재 밑에 그대로 넣었더니
    Script '' line 34: NoMethodError occurred.
    undefined method 'animation_id='for nil:NilClass
    라는 에러가 뜨고, 두번째 스크립트는 이벤트 명령 -> 상급 -> 스크립트 에
    복사해서 넣었더니 get_character(-1) 일 때는 플레이어를 기준으로 적용되나 그 이외 이벤트 아이디로는 적용되지 않고
    또 게임 내 렉이 심하게 발생하네요. (병렬처리로 1회 실행 후 셀프스위치로 페이지 변경했습니다)

    혹시 ['특정 스위치가 ON' 일 때 현재 화면 내 이벤트의 애니메이션 재생에 반복재생 상태를 적용]하는 식으로
    스크립트를 수정해주실 수 있나요? 아니면 위의 스크립트를 사용하는 방법을 조금만 더 자세히 설명해주시면
    감사하겠습니다. ㅠㅠ
  • profile
    러닝은빛 2018.02.17 21:00
    그대로 복사해서 쓰실 수 있는 게 아니라 이벤트 ID 값과 애니메이션 ID 값을 바꿔야 합니다. 상단에 주석으로 표시된 부분을 참고해서 해당 값이 어떤 메소드의 인자 값으로 활용되고 있는지 확인 바랍니다. 쓰레드 렉은 어떻게 생기는 것인지 제가 확실하게 이론적으로 말씀드릴 수가 없습니다만 제 컴퓨터에서 렉은 없었습니다.
  • ?
    위키니트러 2018.02.17 21:38
    표기값을 바꿔도 같은 오류메시지가 나오고 있습니다만 아무리 봐도 원인을 알 수 없어서 포기하기로 했습니다.
    답변 감사했습니다. (쓰레드 렉은 컴퓨터 사양 문제일 수도 있겠네요)
  • profile
    러닝은빛 2018.02.18 00:43


    맵 구분과 이벤트 존재 여부 체크 코드를 추가합니다.


    이걸 추가해도 아무런 동작이 없으면 ID 값을 잘못 적으신 겁니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    # 작성자 : 러닝은빛
    # 작성일 : 2018.02.15
     
    module SPECIFIC_EVENT
      
      # -1은 플레이어, 0은 이 이벤트, 나머지는 이벤트 ID
      ID = -1
      
      # 실행 간격
      INTERVAL = 1
      
      # 애니메이션 ID
      ANIMATION_ID = 10
      
      # 맵 ID
      MAP_ID = 2
      
    end
     
    class Scene_Map < Scene_Base
      alias xxxx_start start
      def start
        xxxx_start
        @run_interval = Time.now.to_i
      end
      
      alias xxxx_update update
      def update
        xxxx_update
        run_specific_event
      end  
      
      def run_specific_event
        return unless $game_map.map_id == SPECIFIC_EVENT::MAP_ID
        c = $game_map.interpreter.get_character(SPECIFIC_EVENT::ID)
        if c and Time.now.to_i - @run_interval >= SPECIFIC_EVENT::INTERVAL
          c.animation_id = SPECIFIC_EVENT::ANIMATION_ID
          @run_interval = Time.now.to_i
        end
      end
    end  
    cs
  • ?
    위키니트러 2018.02.18 00:54
    아 이제 깨끗하게 잘 작동됩니다! 감사합니다! ^^

    음 이건 추가적인 질문인데 (꼭 필요한 건 아니지만 있으면 더 좋을 듯 해서요)
    module SPECIFIC_EVENT 에서 정의된 ID와 INTERVAL , ANIMATION 의 값을
    스크립트 콜로 게임 진행 중 수정이 가능한가요?
    아니면 다른 맵에서 다른 이벤트에 다른 애니메이션을 반복재생 할려면
    동일 스크립트를 복사해서 ID값만 고치면 되나요?
  • profile
    러닝은빛 2018.02.18 01:17
    https://raw.githubusercontent.com/biud436/RGSS3/master/RUN_SPECIFIC_EVENT.rb

    $game_system.specific_event_data[:ANIMATION_ID] = 15

    스크립트를 조금 바꿨습니다.

    그리고 이건 여담이지만 이런 내용은 제작 의뢰 게시판이 더 어울리지 않을까 생각합니다.
  • ?
    위키니트러 2018.02.18 01:21
    계속 번거롭게 해서 죄송하고 정말 감사합니다!
    그리고 다음부터 질문글 쓸 때 주의하겠습니다. ㅠㅠ

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12387
턴제 전투 RMMZ (적군 입장)힐링 관련 질문 4 12478 2021.12.18 124
기타 툴선택 게임에 사용할 캐릭터 일러스트와 도트는 어디서 어떻게 만들어야 하나요? 3 디로 2021.12.15 278
플러그인 추천 RMMV 엔딩후 타이틀 영상 변경 설견 2021.12.15 208
라이선스 게임찾기 게임 플레이 및 트위치 유투브 방송 올려도 되나요? 2 반하 2021.12.14 158
RMXP RPG XP 질문 1 2021.12.14 116
플러그인 사용 RMMV 거울 플러그인 (RS_MirrorArea.js) 흐림 필터 토글 방법 LV 2021.12.12 101
맵배치 RMVXA 타일셋 2개 겹치기 1 file 핑크공주곽배철 2021.12.09 198
기본툴 사용법 RMMV 게임 플레이 중간에 메모장 등을 띄우는 이벤트를 넣고 싶습니다!! 4 소랭소랭 2021.12.09 382
스크립트 추천 RMVXA 타이틀 화면을 gif 등 움직이게 하고 싶습니다. 1 히지 2021.12.09 357
기본툴 사용법 RMMV 데이터베이스 용어 부분 질문 4 제비알 2021.12.06 168
플러그인 추천 RMMV 특정 엔딩 후 타이틀 변환 플러그인 있을까요? 1 설견 2021.12.05 218
스크립트 추천 RMVXA 한글/이름 입력창이 떴을 때 타이머가 멈추지 않고 흘러가게 하고 싶습니다. 다죽어가게생겻어다죽어가게 2021.12.02 186
이벤트 작성 RMVXA 타이머가 다 되었을 때 선택지를 강제로 종료시키고 대화창이 뜨게 하고 싶습니다. 2 다죽어가게생겻어다죽어가게 2021.12.01 238
기본툴 사용법 RMMV 설정한 레벨로 바뀌게 하는 법 1 투척민 2021.12.01 126
스크립트 작성 RMVXA 메뉴의 Continue와 Exit의 스크립트 질문 4 해비 2021.11.28 172
플러그인 추천 RMMV 플레이어 스탠딩 애니메이션을 넣고 싶어요. 2 모서리MOSEORI 2021.11.24 342
스크립트 추천 RMMV 확대된 상태의 화면이 캐릭터를 중심에 두고 움직이게 만들고 싶습니다 2 spsp 2021.11.22 206
기본툴 사용법 RMMV 소유 금액의 제한을 늘리고 싶습니다!! 2 file 소랭소랭 2021.11.17 129
플러그인 추천 RMVXA 캐릭터 상태에서 능력치들을 없애고 싶습니다 미맛 2021.11.14 157
에러 해결 RMVX 액터가 움직이지 않습니다 1 NDgames 2021.11.12 80
Board Pagination Prev 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 516 Next
/ 516