질문과 답변

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
RMVXA ACE 거대몬스터, 거대물품 이용 2 에구궁 2012.04.14 2346
RMVX 게임 시작전 부터 특정 스위치를 on시켜놓는 전제하에 시작하게 만들기 3 라이루 2012.04.14 2556
RMVXA ACE 장비 확장이요... 6 에구궁 2012.04.14 2112
RMXP 갑자기 RPG만들기XP랑 만든게임이 실행이안돼요 ㅠㅠㅠㅠ 1 file 네도 2012.04.14 3119
RMXP 문을 열었다가 닫았다가 하는것 5 네도 2012.04.14 2493
RMVXA 조작키가 안먹히는 버그 3 돼지부라퀴 2012.04.13 2702
RMXP 일정시야에 들어오면 쫓아오는것.. 3 네도 2012.04.13 2635
RMXP 그림의 표시 후 맵에 연동(고정)시켜놓을 수는 없나요? 4 하진 2012.04.13 2554
RMXP RTAB 스크립트 오류 6 file Gora 2012.04.13 2263
RMVX RPG VX 5 윤파카 2012.04.12 2397
RMVX SBS 3.4 사이드뷰 적 기본공격 2 잭무기 2012.04.12 2643
RMXP 인터넷관연결하여.... 4 한한 2012.04.12 2630
RMVX 응??? 타일셋 늘리는 스크립트 나와있던것 같던데... 2 난현이라는 2012.04.04 2771
RMVX 몬스터 리스폰 시키는방법 1 춰억헐릿 2012.04.03 2783
RMVXA VX ACE 전투에서 적 체력 표시하려면 어떻게 하죠? 2 압둘라마바드 2012.04.03 3231
RMVX Srpg의 턴 종료 시키기(재 작성) 1 file minibalrog 2012.04.03 3033
RMXP 애니메이션을 불러와서 새로 만들때.. 2 오디넬 2012.04.02 2640
RMVX vx Srpg의 턴 종료 시키기 1 minibalrog 2012.04.02 2785
RMXP 몬스터 잡아서 동료로만들기 란란루 스튜디오 2012.04.02 2868
RMXP 지정변수에 따라 메뉴윈도우의 문구 다르게 표시하기 17 file 하진 2012.04.01 2096
Board Pagination Prev 1 ... 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 ... 516 Next
/ 516