질문과 답변

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 12444
기타 툴선택 rpg maker 중 MV와 MZ중 어떤게 나을까요? 1 이매망량 2023.01.29 168
에러 해결 RMMV 팰러랙스 맵핑 이후 맵이동 3 하하이 2023.01.28 81
스크립트 작성 RMMV 특정 스킬을 가지고 있으면 상점에서의 가격이 변동이 생기게 하는건 힘들까요? Wolf君 2023.01.26 42
스크립트 사용 기타 스크립트등을 엔딩 크레딧에 출처를 남겨야 할까요? 2 외눈요리 2023.01.24 103
기타 기타 RPG 95 튕김 현상 해결방법 인큐버스 2023.01.20 24
플러그인 추천 RMMV 혹시 엑터가 레벨업 할때마다 이벤트가 작동하도록 하는 플러그인이 있을까요? 2 애용애용갱얼쥐 2023.01.20 47
기타 RMMV 전투시 선택지 변경 4 file gvqwera 2023.01.18 70
기본툴 사용법 RMVX 공격 속성에 대해 질문드립니다. 2 애용애용갱얼쥐 2023.01.17 41
기타 기타 IB타이틀화면처럼 하고싶어요 백월화(白月華) 2023.01.15 110
기본툴 사용법 RMVX MP 전부 소진시 상태부여 2 PRESSENTER 2023.01.13 45
기본툴 사용법 RMVXA 게임 툴 화면 크기에 대해서 1 file 머리큰두두 2023.01.11 85
기타 기타 드래곤볼 처럼 하고싶은데 어떻게해요? 9 kihbbbb01234 2023.01.09 80
스크립트 작성 RMMV mv에서 사용하는 스크립트 기본 변수명에 대해 질문드립니다. 2 애용애용갱얼쥐 2023.01.09 58
기타 RMMV 색조변경이 적용되지 않는 이벤트 무명시절 2023.01.08 21
스크립트 작성 RMMV 아이템창 항목 제거 방법 요호 2023.01.08 83
에러 해결 RMMV 갑자기 키보드 s키(아래)가 작동하지 않습니다 시나47 2023.01.07 43
맵배치 RMMV 원근감 있는 배경 3 file 네오디뮴 2023.01.05 130
스크립트 사용 RMVXA 타이틀 커스터마이즈 스크립트 오류 1 yurica 2022.12.31 66
이벤트 작성 RMMV 파티 내 액터중 이름, 직업이 일치하는 경우에만 특정 이벤트를 표현하고자 합니다. 6 애용애용갱얼쥐 2022.12.30 85
스크립트 사용 RMXP 스테이터스 텍스트 변경 file 로더머신 2022.12.27 48
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