조회 수 589 추천 수 5 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부 수정 삭제


1탄에 뒤이어 2탄을 씁니다.
그런데 2탄이 나오기 까지 시간이 좀(조금 너무 지나치게 많이) 걸렸군요.
열심히 썼는데 처음 2일 동안 댓글도, 추천도, 조회도 너무 낮아서 시무룩 하는 바람에....
그럼 하지메(시작).


class Window_SP < Window_Base
  def initialize
    super(0, 0, 160, 64)
  end
end

1탄을 보신 분들은 위의 것을 완벽하게 파악하셨을 것입니다.
그럼 여기에 텍스트를 넣어야 하죠.

참고로, Ruby에선 (≒프로그래밍) 텍스트=스트링 입니다.

self.contents = Bitmap.new(width - 32, height - 32)
refresh

이 두가지를 super 아래에 추가해 봅시다.
윈도우 구성 설정에 contents(즉, 어떠한 것)를 추가 합니다.
contents 들은 스트링이 될수도 있고, 그외 그래픽이 될수도 있습니다.
이 contents 를 super에서 설정한 윈도우 사이즈에 맞게 거리를 두도록
설정 하는게 (width - 32, height - 32) 입니다. 원래 제작 되어 있던
윈도우를 보시면, 윈도우의 변(그러니까, 3D에선 모서리) 과
그 윈도우의 내용들(contents)과의 거리가 꽤 있다는것을 보실 겁니다.
여기서 윈도우의 변은 테두리가 아니고, 테두리 중에서도 가장 바깥에
있는 선을 예기하는 겁니다.


그리고 refresh. 아무것도 없고, 변수도 아니고 아무것도 아닌데 왜 나왔을까요.
사실 refresh 라는 이름은 별 의미가 없습니다. text 라고 지어도 되고,
chodingzul 이라고 지어도 됩니다. 하지만 이게 뭘 의미 하는 걸까요?
바로 메소드를 불러 오는 것입니다. 하지만 메소드가 없지요?
그래서 만드는 것입니다. 사실 initialize 메소드 내에 첨가 해도 되나,
initialize와 refresh를 분리하는 이유는, 다른 사람들이 조작 하기 편하게,
그리고 자기 자신도 다루기 편하게 하기 위해서 입니다.
분류해 두면 윈도우 조작 따로, 텍스트(위치, 스트링)조작 따로할수 있으니까요.

class Window_SP < Window_Base
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
  end
end

def가 메소드를 의미하는건 다 아시죠?
refresh 라는 메소드를 def로 지정 했습니다.

def refresh

모든 명령어(변수, 오브젝트 등등 제외)에는 end가 필요하죠.

end

그런데 정작 만들고 나면 아무것도 안뜰것입니다.

왜?

그야 당연하죠. 텍스트를 아직 안 넣었으니까요.

    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 120, 32, "연금술사")

라고 refresh 메소드에 넣어 봅시다.
그러면 윈도우에 '연금술사'라고 텍스트가 나올것입니다.

그럼 설명

self.contents.clear

잡 컨텐츠가 있으면 안되죠. 일단 전부다 클리어 해야 합니다. 그것이 바로
위에 있는 clear 명령

self.contents.font.color = system_color

x = y일때, x 부분은 '텍스트 색깔 뭐?'라는 부분 이고, y는 '이거'라는 부분입니다.
system_color 라는 것은 기본 색이죠. 이것은 window_base를 참조 하시거나,
개인적으로 바꿀수 있습니다.

self.contents.draw_text(x, y, w, h, t, a)

draw_text 라는 것은, 제 추측에 의하면 아마 Ruby에 몇 안되는 상위 클래스중 하나,
window 클래스에 속하는 메소드(=명령어) 일것입니다. window 클래스는
window_base의 슈퍼 클래스이기도 합니다.
아무튼, 본론으로 돌아와서, 다시 설명

x = 텍스트 x
y = 텍스트 y
w = 글자란 폭
h = 글자란 높이
t = 선정할 텍스트
a = 정렬(align 을 기초로, 0, 1, 2 로 나눕니다. 정렬은 이 숫자들 순서)

대체 적으로, x 나 y 는 0으로 둡니다. 위에 있던 예제는 RXP 기본에서 퍼왔기
때문에 x 부분이 4인것입니다. 이건 개인 취향입니다.
그리고 w는 원하시는 만큼, 개인적으론 160-32(=128) 또는 160-64(96)을 추천합니다.
그리고 글자 크기가 보통이고 한줄인 이상, h 부분은 32정도로 해두세요.
그리고 중요한것은 t !
스트링은 "과 " 사이에 쓰셔야 합니다. 그 외에 방법은 다음 탄에 자세하게 설명할 것입니다.
여기선 일반 적인 텍스트를 썼지만, 특이하게 변수를 스트링으로 옮기거나(.to_s 를 사용하면
가능합니다), 아니면 언제든지 변경되는 텍스를 사용하는 경우가 있기에(예 : 시간), 그걸
3탄에서 설명하려 합니다.

어쨋든! 그리고 a는 0이나 1로 두세요. 이건 정렬입니다.


아마 이정도면 텍스트가 있는 윈도우는 다 만드실수 있을겁니다.
윈도우에 특이한 능력을 부여하고 싶다구요? 그건 4탄에서 기대하시기 바랍니다.




1탄 - 윈도우 제작
2탄 - 텍스트 삽입
3탄 - 특이한 텍스트들
4탄 - 윈도우의 특수 능력
5탄 - 윈도우의 활용

1탄 - 윈도우의 크기등을 조절할수 있다.
2탄 - 텍스트가 있는 윈도우를 만들수 있다.
3탄 - 바뀌는 텍스트, 수치변수 스트링을 사용할수 있다.
4탄 - 윈도우를 커맨드나 셀렉트 형식으로 만들수 있다.
5탄 - 윈도우를 다 만들었다. 그럼 실제 상황에서 써먹자.
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
196 RPG Maker [RPG2000,2003]게이지쉽게 만드는법 사토루 2005.08.12 1675
195 RPG Maker [Rpg2000,2003]주인공의 나이상승하게 하기 사토루 2005.09.16 692
194 RPG Maker [RPG2000/3 팁] 간편한 이벤트 단축키 1 file 하앵 2015.04.05 569
193 RPG Maker [RPG2000/3 팁] 간편한 이벤트 단축키 하앵 2015.04.06 1662
192 RPG Maker [rpg2000]페이지의 순서와 이벤트의 출력 [夢想家] 2006.02.02 426
191 RPG Maker [RPG2003] 한단계 도약 : 이중 변수번호의 변수 A. 미스릴 2011.07.31 2361
190 RPG Maker [rpg2k] 바로가기를 이용해 테스트 플레이 실행하기 1 베넘 2012.01.14 1595
189 RPG Maker [RPG2K~XP] 좌표를 통한 범위공격 1 Polaris君 2006.01.14 981
188 RPG Maker [RXP]윈도우 만들기 1탄-윈도우 제작 file 『연금술사』 2005.12.30 1111
» RPG Maker [RXP]윈도우 만들기 2탄-텍스트 삽입 file 『연금술사』 2006.02.11 589
186 RPG Maker [RXP]윈도우 만들기 3탄-특이한 텍스트들(변수편) 『연금술사』 2006.02.03 625
185 RPG Maker [RXP]윈도우 만들기 3탄-특이한 텍스트들(프레임편) 『연금술사』 2006.03.11 528
184 RPG Maker [RXP]윈도우 만들기 4탄-스페셜 윈도우(샐랙터블 편) 『연금술사』 2006.02.17 733
183 RPG Maker [RXP]윈도우 만들기 4탄-스페셜 윈도우(커맨드) 『연금술사』 2006.05.05 456
182 RPG Maker [TIP]RXP에서 돈 99999999 한번에 올리기 CC(虎) 2005.08.19 898
181 RPG Maker [VB] SRPG의 이동경로는 어떻게? (1) 1 성령의분노 2005.12.30 849
180 RPG Maker [VB] SRPG의 이동경로는 어떻게? (2) 성령의분노 2006.01.03 835
179 RPG Maker [VX] 메뉴화면에 이어하기를 넣는 스크립트... 카리스 2009.01.09 2877
178 RPG Maker [VX] 집안의 블라인드 다듬기 ~2차 블라인드 정의로운녀석! 2008.11.27 1867
177 RPG Maker [VX] 창문으로 빛이 뚫고 나오게 하기 [뽀샵] 1 정의로운녀석! 2008.07.20 3385
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)