질문과 답변

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
RM2k RPG2k에서 이벤트를 이용해 8방향 이동을 할 수 있게 만들 수 있나요? 1 Rebiart 2011.09.25 1874
RM2k3 RPG2003에서 전투할때 달려가서 때리는 방법 2 Rebiart 2011.09.24 1653
RMXP 세로게이지바hp끝나면 게임오버뜨는방법 3 오매갓 2011.09.24 1737
RMVX KGC_CategorizeItem 스크립트 사용 질문입니다. 2 니노미야 2011.09.24 1578
RMXP 이런식에 턴방식 전투는 어떻게 만드나요? 1 file 마우리 2011.09.24 2372
RMXP 횡스크롤 스크립트 대쉬키나 점프키 바꾸는법 라유 2011.09.24 2515
RMVX vampyr SBABS-Requiem ABS 9 질문드립니다 6 9219jin 2011.09.24 1236
RMXP 조건분기 설정 질문입니다. 4 CJYG* 2011.09.23 1533
RMVX SRPG 계열 전투 방식, 주인공 사망과 승리조건 적전멸에 미 실행문제 2 file 볼프강 2011.09.23 2782
RMVX 아이템 이름을 문장에 표시할수없을까요 4 타빙 2011.09.22 1661
RMVX rpg vx에서 파일이 사라지는 현상 l아방스l 2011.09.22 1440
RMXP RPGxp액알에서 스킬쓰는법질문입니다. 2 엑스칼리버 2011.09.22 2842
RMVX 일러스트 테두리 질문 드립니다 6 file 나미요 2011.09.21 2080
RMXP xas HUD 질문이요 1 MACH 2011.09.21 1996
RMXP 제발 1 선인장가시 2011.09.21 1565
RM2k 오프닝.... 4 ONE。PieCe 2011.09.21 1568
RMXP 게이지바 만들때 hp/mp설정 1 오매갓 2011.09.21 2337
RMVX 게임작성뒤에 열어서 압축푸는데 ExtractFailed(추출실패) 라고뜨네요.. 2 file 포인트퍙퍙 2011.09.20 2305
RM2k 2000 최신패치를 해도 mp3 재생이 안됩니다 rwqrwrwq 2011.09.20 1065
RMXP 변수만큼 일정 사물에 데미지를 주는 법 4 아타락시아 2011.09.20 1386
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