질문과 답변

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 12392
RMVXA 게임 배포할때 vx ace rtp가 필요하다고 적어야하나요? 2 오비 2014.07.01 1359
기타 vxa 와 mv의 차이 3 Judys 2016.03.01 1359
RMXP 타일 크기 맞추는 법 알려주세요 5 file 박하우유 2013.07.18 1360
RMXP 조건분기: A키를 누르고 있을 경우 설정하는법좀 알려주세요 11 file 석진이 2011.05.18 1361
RMVX 아오오니 같은 시스템 질문입니다. 4 카온 2012.07.20 1361
RMVXA 게임 화면 크기설정 9 cchandelier 2016.09.05 1361
RMVX 일정변수를 능력치처럼 정의하는 방법 3 뱀딸기 2012.03.02 1362
RMVX 일시/영구적으로 동료로 들어왔다가.....나가기 3 자선1 2011.08.25 1362
기타 XE 제로보드 사용법좀....;; 2 은색바람 2011.05.03 1363
RMVX 지진이나 화면 흔들림 효과 2 후라이팬샷 2013.08.23 1363
RMVX rpg vx 포그 어떻게 깔아요? 1 이것의꿈 2010.11.11 1364
RMXP 에러해결 좀 해주세요~~~("제발 답변좀........"이 문제에 답변해주신분 좀 보세요) 1 file 대작만들거임 2011.07.09 1365
RMXP 물건장식할때 주위가 검은색으로 되는거없에는거 알려주세요 1 rpgxp만드는초보 2014.01.05 1365
RMXP CG 수집 기능을 구현할 수 있을까요? 6 얍얍 2013.10.18 1366
RMVX 전체화면 스크립트. 도대체 어디있나요! 3 카온 2012.09.09 1366
RMVXA 연속공격, 다단공격을 구현하고싶습니다. 2 복돌류 2012.12.02 1366
RMXP 아이템에 관해서... 1 짜식 2011.07.18 1367
RMXP 액알 모션 만드는 강좌 있었는데 어디있죠..? 1 프레 2011.05.10 1368
RM2k 액알 이펙트 관련.... 2 아르피쥐 2011.05.11 1368
RMXP RPG XP 윈도우 스킨 명칭! 6 file 제프 2014.05.16 1368
Board Pagination Prev 1 ... 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 ... 516 Next
/ 516