질문과 답변

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 21139
스크립트 사용 RMVXA 최대TP 늘리는 법 (100>200) 2 슈필러 2019.03.21 111
스크립트 사용 RMVXA vx ace 소비템 갯수 제한 스크립트 질문 1 leim 2019.01.07 84
스크립트 사용 RMMV vxa 스크립트를 mv에서 사용가능한가요? 5 NEXONON 2019.01.22 150
스크립트 사용 RMVXA 북극토끼님의 아이템창 스크립트 1 심심이병 2019.01.27 252
스크립트 사용 RMMV alert 질문 15 file 무명시절 2019.02.02 4354
스크립트 사용 RMVXA 동방프로젝트 탄막슈팅 스크립트 슈필러 2019.02.04 185
스크립트 사용 RMMV 알만툴 MV에서 세이브창에 페이스칩을 어떻게 띄워야하나요? 6 file 빌헬름17세 2019.02.23 989
스크립트 사용 RMMV 스크립트의 변수,스위치 설정 단축명령어가 있을까요? 1 wkdrn33 2019.03.28 108
스크립트 사용 RMXP (RPG XP) 스크립트 사용방법 질문 1 file 늑이씨 2019.03.31 142
스크립트 사용 RMXP UMS 스크립트 오류 해결좀요 ㅠㅠ 오예쓰 2019.04.05 116
스크립트 사용 RMVXA 테스트 플레이시 게임 속도가 빨라지는 스크립트 없나요? 1 김현무 2019.04.10 178
스크립트 사용 RMVXA 스크립트 정리와 오류 2 file 소녀160 2019.06.02 599
스크립트 사용 RMVXA 폰트...적...용... 3 Leme 2019.06.02 379
스크립트 사용 RMMV 플러그인 스크립트 사용 질문! (on off 및 변수 바꾸기) 2 efihnsipdaghpsa 2019.06.12 147
스크립트 사용 RMMV (해결)Alert 사용 후 이벤트가 클릭도 안했는데 스킵됩니다ㅜㅜ 2 file STRS 2019.06.14 160
스크립트 사용 RMMV 변수를 스크립트에서 사용하고 싶습니다 1 efihnsipdaghpsa 2019.06.14 128
스크립트 사용 RMVXA VXACE에서 2방향, 4방향의 동시 사용 믕믱이 2019.07.22 67
스크립트 사용 RMMV 알만툴 MV에서 아이템의 소지 갯수 제한을 늘리고 싶습니다 1 YunHo00 2019.08.04 424
스크립트 사용 RMMV 변수 포인터 사용법에 대한 질문입니다. 4 file 귀객 2019.10.15 110
스크립트 사용 RMMV 변수 스크립트 사용법에 대한 질문입니다. 2 귀객 2019.10.15 112
Board Pagination Prev 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 84 Next
/ 84