질문과 답변

Extra Form

제작 실험 도중,, 갑자기

Erro no Script  , em 347 na linha "NoMethodError"

undefined method 'y' for nil:NilClass

가 떳거든요?

그런데

347줄에는 그냥

      h = @window_gauge.y..@window_gauge.y + @window_gauge.height

라고 되어 있어요

근데 여기서 y가 머가 잘못된건지,,

분명 @window_gauge 도

@window_gauge = Window_Gauge.new 로 해서 됫을텐데,,

 

(Scene_Map 에서 x 를 눌러 Scene_Menu로 넘어갈때 발생햇음,,)

Who's 코아 코스튬

?

안녕하세요 ^^

WebEngine 입니다. ^^


Game 제작에서 Web 제작으로 옮겼어요 ^^

http://www.webengine.co.kr/

Comment '6'
  • ?
    포인트팡팡 2010.10.28 04:05
    축하합니다. 코아 코스튬님은 10포인트에 당첨되셨습니다
  • ?
    코아 코스튬 2010.10.28 04:06

    10...

    더주지,,, ㅠㅠ

  • ?
    코아 코스튬 2010.10.28 04:08

    더 자세히 알려드리기 위해 그 class 전부 적었습니다.

    Window_Gauge는 밝히지 않겠습니다.

    그냥 제가 올린 상태창 스크립트나 게이지바 스크립트가 Window_Gauge 입니다..

     

    class Scene_Map
      alias update_before_map update
      def update
        update_before_map
        @window_gauge = Window_Gauge.new unless @window_gauge
        @window_gauge.update
        unless $scene.is_a?(Scene_Map)
          @window_gauge.dispose
          @window_gauge = nil      
        end
        hellocoa2
      end
      def hellocoa2
        tat = $tat
        unless(tat == 1 or tat == 2 or tat == 3)
          print "윈도우 이동 부분을 잘못 설정 하셨습니다."
          print "1, 2, 3 으로 설정 가능합니다."
        end

        if tat == 2
          h = $game_player.screen_y
          if h >= 380
            # 이동 후의 좌표에 이동
            @window_gauge.y = 0
            @map게이지window.y = -61
            # 초기 위치가 아닌 경우
          else
            # 초기 위치에 이동
            @window_gauge.y = 380
            @map게이지window.y = 319
          end
        end
       
        if tat == 1
          h = @window_gauge.y..@window_gauge.y + @window_gauge.height
          # 플레이어가 윈도우의 범위내에 들어갔을 경우
          if h === $game_player.screen_y
            # 이동 장소 판정
            # 초기 위치라면
            if @window_gauge.y == 380
              # 이동 후의 좌표에 이동
              @window_gauge.y = 0
              @map게이지window.y -= 380
              # 초기 위치가 아닌 경우
            else
              # 초기 위치에 이동
              @window_gauge.y = 380
              @map게이지window.y += 380
            end
          end
        end
      end
    end

  • ?
    녹색주머니 2010.10.28 09:39

    만약, y라는 녀석이 초기화조차 안되어있다면 숫자간의 연산이어야하나

    y가  nil로 처리되기 때문에 오류가 생길 수도 있습니다.

     

     

    가끔 y가 있어도 오류가 뜨던데.... 그 외에는

     

    @window_gauge.y .. @window_gauge.y + @window_gauge.height

     

    이렇게 .. 사이를 띄어보거나

     

    rand(@window_gauge.y + @window_gauge.height + 1) + @window_gauge.y

     

    로 해보죠. 그래도 안될땐 오류가 나타나는 347번째 라인 위에

     

    p @window_gauge

     

    를 추가해서 이게 뭘 가지고 있는지 확인합니다만....

  • ?
    허걱 2010.10.28 12:06

    update의 다음 부분을 보면...

    unless $scene.is_a?(Scene_Map)
          @window_gauge.dispose
          @window_gauge = nil      
        end
        hellocoa2
    $scene가 Scene_Map이 아닐경우 @window_gauge.dispose, @window_gauge = nil 이라고..

    @window_gauge를 없애주고 hellocoa2라고 하셨는데..  먼저 없애버리고 hellocoa2함수를 실행하느라

    hellocoa2함수에서 @window_gauge가 사용되면 위와같은 오류가 날 수 있습니다.

     

    오류의 내용은 nil(값이 없는것)에서 y라는 메소드를 찾을 수 없다는 겁니다.

    아무것도 없는데 y를 찾으려니 당연하게도 에러가 나게 됩니다.

     

    해결 방법 :

    @window_gauge의 선언은 main부분의 loop전에 선언해 주시고 없애는건 loop가 끝난 다음으로 해주시기 바랍니다.

    예:>

    class Scene_Map

    alias main_before_map

    def main

    @window_gauge = Window_Gauge.new

    main_before_map

    @window_gauge.dispose

    end

    end

  • ?
    녹색주머니 2010.10.28 19:18

    오... 저쪽은 전혀 신경 안쓰고 댓글 단 제가 부끄러워지네요.

     

    전 지금까지 저 오류내용을

    @window_gauge == nil 인게 아니라

    @window_gauge.y == nil인 걸로 알아먹었었는데... ㄷㄷㄷ


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12447
기본툴 사용법 RMMV 특정 액터의 공격으로만 특정 스탯을 해제하게 할 수 있나요? 2 PPPL 2020.04.11 56
기본툴 사용법 RMVXA vx ace) 방어 효과율 관련 질문 2 게임이만들고파 2021.03.29 56
이벤트 작성 RMMV 특정 아이템을 일정수량가지고 있을시 발생하는 이벤트를 만들 수 없을까요? 1 폭광 2021.04.21 56
기타 RMMZ 전투 커맨드 커스텀 질문입니다. 니노미야 2021.08.12 56
스크립트 추천 RMVXA 벽 뒤에 있으면 벽 앞에 무엇이 있는지 보이지 않는 스크립트나 이벤트 2 다크크리에이터 2023.11.17 56
이벤트 작성 RMVXA 장소이동 후 그림표시가 안되네요 ㅜ 간단한 문제같은데 도통 모르겠습니당 file 체어링2 2021.06.29 57
에러 해결 RMMV faild to loading: img 뜨면 어떻게 하나요 폭광 2020.08.09 57
기타 wolf rpg maker, 플래그 질문있습니다. 2 고슴도치가족 2018.11.16 57
스크립트 작성 RMVXA 저장 스크린이 열릴 때에만 커서 효과음이 바뀌게 하는 법 슈필러 2019.07.07 57
스크립트 사용 RMVXA 스크립트 on/off 2 MAYO 2020.02.10 57
이벤트 작성 RMMV 여러명 추격시 맵이동 2 주지스 2020.03.25 57
플러그인 사용 기타 대화상자의 크기를 조절하는 플러그인에 관해 4 펑비 2023.09.13 57
이벤트 작성 RMVXA 일정시간동안 특정 버튼을 반복적으로 눌러 적을 공격해야하는 미니게임을 만들고싶은데요. 6 홍홍이1 2023.09.11 57
기본툴 사용법 RMMV 대사창 UI를 바꿨는데 크기가 이상합니다 2 file 파비아 2023.12.19 57
이벤트 작성 RMMZ 자동실행 관련 질문 3 Sian 2024.01.20 57
이벤트 작성 RMMV 궁금한 것 2 지탁 2020.02.14 58
기타 RMMV 알만툴MV 아이템 보유수량 한도를 99 이상으로 늘리려면 어떻게 해야하나요? 1 탈락빌런 2021.08.12 58
스크립트 작성 RMVXA 파일이름 변경 배경 2020.07.10 58
이벤트 작성 RMVXA vx ace 이벤트를 실행하면 이벤트 그래픽이 멋대로 이상하게 바껴요 ㅠㅠ 2 체어링2 2020.01.17 58
에러 해결 RMMV 파일을 열려고 하면 프로그램이 멈춥니다. file 고르아게 2019.05.05 58
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 516 Next
/ 516