질문과 답변

Extra Form
    if @rotate_speed != 0
      @rotate_speed2 = @rotate_speed
      @angle += @rotate_speed / 2.0
      while @angle < 0
        @angle += 360
      end
      @angle %= 360
    elsif @rotate_speed == 0 && @angle != 0
      @angle += @rotate_speed2 / 2.0
      while @angle < 0
        @angle += 360
      end
      @angle %= 360      
    end

혹시 이 스크립트 기억하시나요?

오늘 드디어 쓰게되었는데요, 픽쳐회전이 20정도일 경우 일부 각도를 표시하지 않고 빠르게 도나봐요.  그래서 이전 회전상태에 따라 타이밍이 맞지 않으면 원상태에서 멈추지 않고 계속해서 회전을 하게 되어요.

고쳐주실 수 있나요?  감사합니다 :)

그리고 지난번에 질문올린 이벤트접촉발생 이벤트 조건분기 쓰는방법도 알려주시면 감사하겠습니다 :)

Who's 조석진

profile


Image=======
싸움쟁이 Ssaumjangy
작가: 조석진 Author: Seokjin Cho
developing kids game

official website: http://www.seokjin.xo.st
game develop site: http://www.seokjin49.xo.st
facebook develop status site: http://www.facebook.com/seokjingame
Comment '7'
  • profile
    습작 2012.09.08 15:33

    0.

     

      우선 픽쳐 관련된 답변입니다.


      그런 문제를 간과하고 있었군요. def initialize(number) 함수 마지막 줄에 @rotate_speed2 = 0 를 추가해주시고, 위의 내용은 아래와 같이 수정해주세요. 


        if @rotate_speed != 0

          @rotate_speed2 = @rotate_speed

          @angle += @rotate_speed / 2.0

          while @angle < 0

            @angle += 360

          end

          @angle %= 360

        elsif @rotate_speed2 > 0 && @angle != 0

          @angle += @rotate_speed2 / 2.0

          while @angle < 0

            @angle += 360

          end

          @angle = [@angle, 360].min

          @angle %= 360

        elsif @rotate_speed2 < 0 && @angle != 0

          @angle += @rotate_speed2 / 2.0

          while @angle < 0

            @angle += 360

          end

          @angle = [@angle, 0].max

          @angle %= 360

        end


      덧> 아래쪽과 같이 수정하셔도 동일합니다.

        if @rotate_speed != 0

          @rotate_speed2 = @rotate_speed

          @angle += @rotate_speed / 2.0

          while @angle < 0

            @angle += 360

          end

          @angle %= 360

        elsif @angle != 0

          @angle += @rotate_speed2 / 2.0

          while @angle < 0

            @angle += 360

          end

          @rotate_speed2 > 0 ? @angle = [@angle, 360].min : @angle = [@angle, 0].max

          @angle %= 360

        end



    1.


      조건분기 스크립트 구문에 아래처럼 적어주면 해당 x,y좌표의 이벤트 id가 n과 같은지 판정할 수 있습니다.


      $game_map.check_event(x, y) == n


      위의 조건을 만족할 경우 그보다 하위 조건분기로 아래와 같이 방향 판정까지 해준다면, 해당 이벤트가 그냥 옆을 지나가던 중인지, 아니면 다가온 것인지도 판별가능하겠지요.


      $game_map.events[$game_map.check_event(x, y)].direction == n


      만일 플레이어가 있거나 다른 이벤트가 있는 경우라면 판정에 있어서 보다 우선순위를 나눠야 할 거라고 생각합니다. 아니면, 기존의 적어드린 스크립트에서 이벤트 작동시 작동시켜주는 이벤트 id를 변수에 대입시켜주는 구문을 삽입해두는 것도 하나의 방법이라고 생각합니다.


      그럼 좋은 게임 제작 활동 하세요.^^



  • profile
    조석진 2012.09.09 02:25 Files첨부 (1)

    감사합니다 습작님 :)


    그런데 잘 안돼요.. );


    def initialize 넘버에 로테이트 스피드 2 넣고

    고쳐주신 스크립트를 다시 넣었는데  멈추질 않아요.. );

    그리고 조건분기에 이벤트같은위치 그걸 넣었는데 이런메시지가 떠요.

    캡처.JPG


    그리고 == n 에서 n이 뭐예요?


    감사합니다 ㅎㅎ

  • profile
    습작 2012.09.09 11:19

    1.

     

      n은 number의 약자라는 것은 아실테고, 비교할 id번호 정도로 생각하시면 되리라 생각합니다. x와 y는 당연히 좌표를 의미하므로 해당 부분에도 숫자를 넣어주셔야 합니다.


      $game_map.check_event(100, 50) == 1


      예를 들자면 좌표 100, 50에 이벤트id 1이 있는지를 판별하는것은 위와 같습니다. 위의 에러 메세지는 아마도 x, y에 좌표를 대입하지 않아 생긴 것이 아닌가 싶네요


      그리고 멈추지 않는 픽쳐는 관련된 프로젝트를 보내주시면 살펴보도록 하겠습니다.^^



  • profile
    습작 2012.09.09 13:35

    2.


      (다시 수정했습니다.)역방향 회전시 회전 방향은 음수지만 각도가 아래 코드에 의해서 양수로 변환되는 것을 간과한 것이 크네요.


      while @angle < 0

          @angle += 360

      end


      아래의 코드로 수정하시면 됩니다.^^

      

          if @rotate_speed != 0

            @rotate_speed2 = @rotate_speed

            @angle += @rotate_speed / 2.0

            while @angle < 0

              @angle += 360

            end

            @angle %= 360

          elsif @angle != 0

            while @angle < 0

              @angle += 360

            end

            @angle += @rotate_speed2 / 2.0

            @rotate_speed2 > 0 ? @angle = [@angle, 360].min : [@angle, 0].max

            @angle %= 360

          end



  • profile
    조석진 2012.09.10 03:49
    분명 복사해서 붙여넣기 하였는데 계속 돌아요.. 회전속도를 0으로 하기전의 속도가 +일땐 어느속도든지 제대로 원상태로 돌아와 멈추는데 -속도일때는 정확히 타이밍이 맞지 않으면 멈추지를 않아요.. 아무래도 회전방향을 바꾸어야할것같아요. 감사합니다 습작님 :)
  • profile
    습작 2012.09.10 12:17

    3.


      막판에 급하게 다시 수정해서 올렸는데 제대로 테스트 해보지 않고 올렸더니 이런 문제가 생겼군요.

      @angle = @rotate_speed2 > 0 ? [@angle, 360].min : [@angle, 0].max 로 적어야 하는데,

      @rotate_speed2 > 0 ? @angle = [@angle, 360].min : [@angle, 0].max 로 적어버렸네요. 

      다시 아래 코드를 사용하신다면 아마 정상적으로 정지하리라 생각됩니다. 그럼 수고하세요.


          if @rotate_speed != 0

            @rotate_speed2 = @rotate_speed

            @angle += @rotate_speed / 2.0

            while @angle < 0

              @angle += 360

            end

            @angle %= 360

          elsif @angle != 0

            while @angle < 0

              @angle += 360

            end

            @angle += @rotate_speed2 / 2.0

            @angle = @rotate_speed2 > 0 ? [@angle, 360].min : [@angle, 0].max

            @angle %= 360

          end


  • profile
    조석진 2012.09.10 23:25
    와 ㅎㅎㅎㅎ 와 ㅎㅎㅎㅎㅎㅎㅎㅎㅎ 진짜된다 ㅎㅎㅎㅎㅎㅎ 진짜된다 ㅎㅎㅎㅎㅎㅎㅎㅎㅎ
    감사합니다 습작님 ㅎㅎㅎ 덕분에 다시 제작에 들어갈 수 있게 되었어요 ㅎㅎ

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12393
스크립트 사용 RMVX 시스템 기본 음향 크기 조절(도와주세요ㅠ) 1 고무고무열매 2020.02.22 40
RMXP 시스템 구현방법에 대한 질문 모모미코 2012.01.04 1484
RMVX 시르트산님.. 근데요. 4 크런키맛아듀크림 2010.09.17 888
RMVX 시르트산님 봐주세요! 3 크런키맛아듀크림 2010.09.17 843
RMXP 시로오니 같은 타이틀.... 2 나는나다 2010.12.22 977
기타 시나리오 작법에 대해서 3 fate아르토리아 2016.05.16 202
RMVX 시나리오 3 크루즈 2011.02.06 988
RMVXA 시간지나면 자라나는 농작물 3 file 삡코 2015.08.04 226
이벤트 작성 RMMV 시간제한으로 그림표시 (빠른답변부탁) 1 초보입니다! 2019.01.08 129
RMVX 시간에 따라 원경을 바꾸고 싶습니다. Tyan 2017.07.11 112
RMXP 시간안에 하는 퀘스트! 1 ☆제나★ 2011.05.09 1114
RMVX 시간만들기 2 겜제작광 2014.02.21 733
이벤트 작성 RMMV 시간내로 버튼을 누르면 통과되는 게임을 만들고 싶습니다 1 file thssla 2023.12.16 25
기본툴 사용법 RMMV 시간 재기(스톱워치) 2 페페페 2022.07.26 168
기타 RMMV 시간 시스템 및 달력 시스템 있나요...? 2 빛의계곡 2019.05.05 185
RMVX 시간 설정하기 질문입니다. 2 로돌프 2011.12.23 1873
RMVX 습작님이 알려주신 장면 호출 4 카르츠 2012.09.14 1297
RMVXA 습작님의 TP와 MP의 동시표시에 관하여 4 반내림 2013.10.11 1258
RMXP 습작님의 Scene_Item_Select 관련질문 (픽쳐, 커스텀윈도우, 스위치, 정렬) 2 file 하진 2012.09.03 1103
RMVX 습작님의 rpg maker vx eme 사용 중 문제 3 cutyperson 2015.11.01 195
Board Pagination Prev 1 ... 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 ... 516 Next
/ 516