질문과 답변

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 12441
이벤트 작성 RMVXA 아이템 선택에따라 다른 이벤트 2 핑크공주곽배철 2021.12.26 155
기본툴 사용법 RMVXA VXACE 텍스트 소리 어떻게 나게 하나요? rmqqoddl 2020.11.15 155
스크립트 사용 RMXP 메세지 스크립트 관련하여 질문 드립니다. 2 file 빈군 2020.05.18 155
이벤트 작성 RMVXA 의자를 특정 장소로 이동시킨 후 올라타는 이벤트를 만들고 싶습니다. 5 MAYO 2019.08.17 155
기타 RMMV 처음으로 TDDP로 맵핑 할 생각인데. 맵을 PNG 하는 방법이 있나요? 2 file 호구랑 2020.06.15 155
RM2k3 [RPG 2003] 지정위치에 닿으면 인물이 주인공쪽으로 오는 이벤트 2 츠요링 2018.01.02 155
RMVXA RPG메이커 VX ace 달리는 키변경 2 초보주의 2016.12.29 155
RMVXA 공격할때 배틀러 숨기는법 4 기폭 2016.09.09 155
플러그인 사용 RMMV 노트 메뉴를 만들고 싶습니다 4 file 소녀160 2019.05.19 155
RMVXA 스크립트 관련 몇가지 질문드립니다. 4 file Xmania 2016.08.21 155
RMVX 음악 확장자명을 ogg->mid로 바꿔도 상관없나요? 2 Thyella 2016.07.27 155
RMMV 게임 완성 후 exe로 저장했는데요... 작업한 컴퓨터에서는 실행이 잘 되는데... 다른 컴퓨터에서는 실행이 안돼요 :( 드블랑 2017.03.07 155
RMVXA (skyborn)전투화면 배경에서 맵이 그대로 보이게 할려면 어떻게 해야 하나요? 대추야자 2015.11.08 155
기타 도트가 뭐죠? 2 rpgvx유저 2015.08.12 155
RMVXA 문 여닫기 스위치에 대한 질문입니다. 3 file 류미엘 2015.06.30 155
RMXP xp 액알 만드는데요~ 방어구에 최대hp 도입시키는거 방법좀 알려주세요 ㅠ 4 새우쾅 2015.06.15 155
RMVXA 턴제 전투에서 데미지 팝업 질문이요 기폭 2016.01.05 155
RMVXA 받은 rpg maker 파일이 외계어로 표시가 됩니다... 보드카짱 2017.06.10 155
RMVXA 동일 스킬을 n번째 사용 할 때 강화 효과가 나타나게 하고 싶습니다. 3 kargo 2018.02.18 155
기타 툴에 기본적으로 제공하는 샘플 도트에 원하는게 없을때요.. 4 s스카 2018.03.02 155
Board Pagination Prev 1 ... 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 ... 516 Next
/ 516