질문과 답변

Extra Form

으..... 질문을 마구 쏟아내서 죄송합니다.

그런데 혼자 하다 하다가 막혀서요........



게임상에서 '다음 할 일'을 알려주는 창이요.


Capture2.gif

일단 Window_Steps(보수)를 대강 고쳐서, 이렇게 그럴싸해 보이게까지는 나와 줬습니다. 그런데...


지정한 (게임상)변수의 증가에 따라서, 저 문구가 바뀌도록 하기 위해서

if 명령문을 넣어 봤는데

Capture1.gif


테스트플레이 해서 메뉴 들어가면, 에러가 나더라고요. 정의되지 않은 메소드'[]'가 이 클래스에 nil:NIL...? 이라고요


근데 대괄호가 뭐가 잘못된 건가요?? 게임상변수를 저렇게 쓰는 거 아닌가요...? orz 아님 명령 자체를 잘못 써서 그런 건지

간단해보이는 건데도... 일단 되는 대로 따라하다보니 이렇네요.

잘못된 곳을 좀 짚어주실 수 있으면, 무지 감사하겠습니다... 잘 완성되면, xp스크립트 란에도 올릴게요. 별 건 아니지만...

Comment '17'
  • profile
    Lighna 2012.04.01 18:19

    self.contents.~~(4,32,120,32,"블라블라") if quest ==0

    이런식으로 해보셔요

  • ?
    하진 2012.04.01 18:35

    으... 이렇게 넣어봤는데 여전히 저 변수 써놓은 줄이 잘못됐다며 종료됩니다. 뭐가 못마땅한 건지ㅠㅠㅠㅠㅠㅠ

  • profile
    습작 2012.04.01 19:14

    소문자로 작성하세요.


     $Game_Variables[n] => $game_variables[n]

  • ?
    하진 2012.04.01 21:43

    대소문자 구문이었다니......!!!

    얼른 해보고 오겠스빈다!

  • profile
    습작 2012.04.01 19:16

    if elsif 보다는 case when을 사용하는 것이 더 편할 겁니다.


    case $game_variables[n]

    when 1

      text = "블라블라 블라"

    when 2

      text = "블라블라 블라2"

    end

    self.contents.draw_text(4, 32, 120, 32, text)

  • ?
    하진 2012.04.01 22:03 Files첨부 (2)

    확실히 조건분기로 쓰니까, 잘 보이고 좋네요!

    저 그런데... 마지막줄에 써 주신 것이 혹시 text일 때의 성질(워드랩이나)을 갖게 하는 건가요? (그대로 넣어본 결과론 오류였지만..)

    지금 상태가...... 그....

    ....스샷 한번만 더 첨부하겠습니다... ㅠㅠ


    Capture3.gif

    바람직하게 넘어갔습니다.

    Capture4.gif

    그런데......


    ...얘 어떡하면 좋을까요...

    저대로는 더 긴 문장을 넣었을 때는, 읽을 수가 없을 텐데......

    혹시나 해서 Windows_Message나 AMS.. Interpreter3 이런 데 있는 line_count 며.. '문장의표시' 주석달린 부분들 긁어다 붙여보기도 했는데, 다 소용이 없거나 에러가 나네요.

    아마도.... 마지막 관문이 될 것 같은데......ㅠㅠ 자연스런 메시지처럼 줄바꿈이 되도록 하려면 뭘 넣어야 할까요. 토막지식이라도 좋으니, 나눠주셨으면 합니다...

  • profile
    Lighna 2012.04.01 22:12

    자동으로 바꿔주는건 모르겠으나, 큰 따옴표 안에 \n(백슬래쉬 n)을 넣으주시면 줄바꿈이 됩니다.

    ex)

     "철물점에 가서 \n볼트를사자"

    => 철물점에 가서

    볼트를사자

  • ?
    하진 2012.04.01 22:42

    대화상자로 띄울 때에는 \n 이게 맞는데.... 게임상 메시지의 줄바꿈으론 안 되는 것 같아요ㅠㅠ 우짤꼬

  • profile
    Lighna 2012.04.01 22:53

    아니면, 습작님말씀대로 case조건분기로 바꾸시고, y값을 바꾸면서 drawtext를 늘리심이...........개노가다이긴하겠지만

  • ?
    하진 2012.04.01 22:54

    네 실은 방금 이걸 했어요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

  • profile
    습작 2012.04.01 22:38

    아마 제가 쓰려던 내용은 

    self.contents.draw_text(4, 32, 120, 32, text) unless text == nil

    이었을 겁니다...

    text에 값을 대입하지 않은 경우에는 출력하지 않는 것이지요.

  • ?
    하진 2012.04.01 22:54

    그렇군요...

    그럼 이 줄바꿈 문제는... 전 괄호안의 y좌표를 직접 바꿔서 쓰는 것밖엔 생각 못하겠네요.

    (     self.contents.draw_text(4, 32, 120, 32, "철물점에 가서 볼트")

         self.contents.draw_text(4, 32, 120, 72, "를 사자.")                )

    이렇게 쓰니까, 괜찮게 나오긴 하는군요!


    두 분 다, 고맙습니다. 이 스크립트 정리해서 게시판에 올리거나 할 때, 스페셜 땡스 잊지 않을게요!ㅋㅋㅋ

  • profile
    습작 2012.04.01 23:21
    line = []
    line_width = 0
    text = ""
    text2 = ""
    bitmap = Bitmap.new(1,1)
    case $game_variables[n]
    when 0
      text = "가나다라마바사아자차카타파하 입니다."
    when 2
      text = "블라블라 블라2"
    end
    for i in text.scan(/./)
      rect = bitmap.text_size(i)
      if line_width + rect.width > 120
        line_width = 0
        line.push(text2)
        text2 = ""
        text2 += i
        line_width += rect.width
      else
        text2 += i
        line_width += rect.width
      end
    end
    line.push(text2)
    for i in 0...line.size
      self.contents.draw_text(4, 32 + 32 * i, 120, 32, line[i])
    end

    KnM이나 UNR 같은 XP용 온라인 스크립트에서 채팅창 그릴때 사용한 줄넘김 방식을 응용한 것 입니다.
    텍스트를 글자단위로 배열을 만들고 길이가 되면 묶어서 그려주는 방식이지요.
  • ?
    하진 2012.04.03 01:51

    헉...!

    그냥 좌표값 더해가며 쓰려고 했는뎈ㅋㅋㅋㅋㅋㅋㅋ 이런 것까지ㅠㅠㅠㅠ 넣어볼게요 얼른

  • ?
    하진 2012.04.03 02:01

    줄바꿈이!!! 되네요......!!!!!!!!!!! ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 으아아아아아ㅠㅠㅠㅠㅠㅠ 아아아아ㅠㅠㅠ 무슨 마술같아요 ㅠㅠㅠㅠㅠㅠㅠ!!!!

    고맙습니다......ㅠㅠ 줄간격만 좀 줄여보면 딱 쓰기 좋게 될 것 같아요. 그건 저 숫자들을 이렇게 저렇게 바꿔보면 되겠..죠?

    으 어디가서 찾기도 힘든 내용을 이렇게 꼭 집어서......알려주셔서 정말 고맙습니다. 시간날 때 정리해 올려서 딴데서도 널리널리 쓰이게 하고픈 맘이 막 드네요.....!

  • profile
    습작 2012.04.03 03:03

    self.contents.draw_text(4, 32 + 32 * i, 120, 32, line[i])


    파란색으로 표시한 것이 줄간격입니다.

  • ?
    하진 2012.04.03 03:24

    네 이거! 찾았어요! ㅋㅋ 한참 헤맸지만요.......ㅋㅋㅋ

    다시한번 고맙습니다...!!!


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12392
RMXP 질문 좀 할게여 (타이틀, 선택지, 글자, GIF, 화면크기 등등...) 1 file 시리녹스 2014.01.01 1458
RMXP 질문 있습니다.(급합니다 도와 주세요. ㅠㅠ)ATB사이드뷰 2 file 마우리 2011.10.05 1614
RMXP 질문 1 니키 2011.01.06 423
RMXP 진짜 궁금한게 있어요 5 쿠핼룰 2010.12.29 530
RMXP 진위값(true,false) true, false로 스크립트로 불러오는 방법 ㅜㅜ Tattoo 2011.08.01 2202
RMXP 직업탭에 있는 근접 원거리 마법 설정은 뭐가 다른가요? 2 아미상 2012.12.29 719
RMXP 지현서 1 지현서 2011.01.12 961
RMXP 지정변수에 따라 메뉴윈도우의 문구 다르게 표시하기 17 file 하진 2012.04.01 2096
RMXP 지도창 1 가리로루 2010.09.24 788
RMXP 중복 타이머 / 타이머 숫자 띄우지 않기 2 EXCELBREAKERS 2012.01.18 1894
RMXP 준돌님의 메세지 뛰우기 스크립트 수정좀 도와주세요. 7 브라우니 2012.12.12 782
RMXP 죽으면 다시살아나는법없나요? 1 김꼬봉 2012.02.23 2018
RMXP 죽었는데(hp:0) 게임오버도안뜨고 아무현상도없는경우 5 Haze~ 2013.09.01 996
RMXP 주인공이 자다가 눈뜨는듯한 느낌 어떻게? 2 곧이 2011.02.09 685
RMXP 주인공이 돌아다니다가 몬스터에게 발각되면 계속쫓아와서 싸우게되는 스크립트좀여 오매갓 2012.02.05 2362
RMXP 주인공에 닿으면 죽기 1 크루즈 2011.02.14 703
RMXP 주인공,npc 머리위에 이름띄우는 스크립트에 관해 질문합니다. 4 Dok3 2011.08.07 2146
RMXP 주인공 움직이게하기 게임이좋아 2011.08.08 2177
RMXP 주인공 반경 20칸 주위에 우선순위가 5인 타일셋이 존재할 경우 라는 스크립트 조건 1 CJYG* 2012.06.23 1205
RMXP 주인공 머리위에 이름을 뛰우지 못하게하는 방법이뭔가요? 2 천둥번들 2014.05.18 700
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 90 Next
/ 90