질문과 답변

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 12387
RMVX SRPG 질문 3 황제님 2011.11.22 1769
RMVX VX 이동 질문 2 으이엨 2011.11.21 2061
RMVX SBABS라는 액알 대문에 질문합니다. 4 SINCOON 2011.11.21 1745
RMVX 이벤트 출현 조건에 대해 2 IZEN 2011.11.20 1667
RMXP 메뉴에서 스킬,장비등을 삭제했는데 오류가 났습니다. 1 file Eearang 2011.11.20 1805
RMVX 스토리를 만들려고하는데 2 아카자키 2011.11.20 1878
RMVX 화면색조변경하면 캐릭터가 안움직여요. 1 수정이님 2011.11.20 2536
RMVX 굳이 주인공이 있어야 진행이 가능한가요?? 7 아카자키 2011.11.19 1764
RMXP 게임오버 화면을 넣고 싶은데.. 게임오버타이틀에 넣어도 안뜨네요. 3 file aggelos 2011.11.19 2249
RMXP 한 bgm이 끝나면 다른 bgm이 연주되게 하는법 5 알중: 2011.11.18 1932
RMXP 게임이 업데이트 되었을때 세이브 호환하는법 4 환장 2011.11.17 2380
RMXP 몬스터가 사라진 후 오류~ file BGM 2011.11.17 1914
RMXP 몬스터 시체에 관하여 2 file BGM 2011.11.17 1982
RMVX 이벤트후 그림 2 와이지 2011.11.16 1952
RMXP 스크립트 고수분들 부탁드립니다 ; 3 동망새 2011.11.16 1677
RMVX 캐릭터 버스트업 표시. 1 hinim22 2011.11.16 2009
GM 맞고를 제작 하고싶습니다.! 1 문세문세물세 2011.11.16 1469
RMVX vx + 관련해서 질문입니다. 아방스님께라고 해야할까나.. 2 자선1 2011.11.15 2209
RMVX 알피지 메이킹으로 만든 일본게임들 실행 에러 나는 이유. 5 file 자선1 2011.11.15 4703
RMXP 반짝이는 열쇠 만드는 법 2 whk123 2011.11.15 2445
Board Pagination Prev 1 ... 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 ... 516 Next
/ 516