조회 수 635 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
296 RPG Maker 물체 밀어서 움직이는 이벤트 조금 더 쉽게 하는 법 zero? 2018.01.02 644
295 RPG Maker rpg vxa 로 겜만들때 데미지 설정 공식[링크] 준E 2017.06.08 740
294 RPG Maker [꿀팁] 간단하게 만들 수 있는 실시간 전투 시스템 1 file 준E 2017.03.31 2019
293 RPG Maker RPG MV에서 플러그인 오류의 원인에 대하여 1 title: 댓글러lklslel 2016.07.08 2359
292 RPG Maker RPG MV 게임 도중에 윈도우 스킨 파일 자체를 통째로 바꿔버리는 방법 (출처: HIME) 최저 2016.07.08 1627
291 RPG Maker 텍스트 대화 도중 메뉴 여는 방법을 알아냈습니다! 2 file 정궈니 2016.03.12 2938
290 RPG Maker rpgmv 마우스 지원과 터치 지원이 되니. 2 팡소리 2015.10.25 1011
289 RPG Maker RPG Maker MV 와 AJAX를 이용한 웹통신 관련 영상. 2 HT9MAN 2015.10.25 2246
288 RPG Maker [RPG2000/3 팁] 간편한 이벤트 단축키 title: 자게이하앵 2015.04.06 1833
287 RPG Maker [RPG2000/3 팁] 간편한 이벤트 단축키 1 file title: 자게이하앵 2015.04.05 748
286 RPG Maker 알만툴이 아닌 새로운 툴강좌 (이클립스 강좌) 이클립스 2014.10.07 1407
285 RPG Maker 이클립스 강좌 1 AVD생성 밑 실행 이클립스 2014.10.07 949
284 RPG Maker [XP, VX, VXA] 시야제한 만들기 17 빙냥이 2014.08.16 2699
283 RPG Maker 처음 제작하시는분들 흔히 일어나는 실수 8 지브릴 2014.07.12 1987
282 RPG Maker 게임제작 시작하시는분들을위한 강좌!(외부링크) diget 2013.09.23 1817
281 RPG Maker [정보] 일본의 RPG만들기 관련 커뮤니티 1 비형랑 2012.10.01 1219
280 RPG Maker 꼬마 캐릭터 쯔 꾸르 비형랑 2012.10.01 2647
279 RPG Maker rpg2003 액션알피지 간단한 예제 1 아자2™ 2012.09.03 1156
278 RPG Maker SRPG95에서 MP 0 소모 마법의 활용. 3 협객 2012.06.30 1559
277 RPG Maker [쯔꾸르] 애기들 따라다니게 만들기 1 file 2012.06.26 1468
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(김원배) | 사신지(김병국)