고급강의실
2013.09.17 09:43

나뚜루's - Sprite 클래스 파헤치기 [2]

조회 수 1782 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
저번 시간에는 스프라이트 클래스를 제대로 만드는 방법을 배웠습니다.

viewport = Viewport.new(0, 0, 640, 480)
viewport.z = 999

sprite = Sprite.new(viewport)

sprite.bitmap = Bitmap.new(640, 480)

이것이, 저번시간까지 배운 내용입니다. (viewport.z는 z좌표를 설정해주는겁니다.)

자, 이제 스프라이트 클래스를 만들었으니,

그림을 그리고 글자를 써야겠죠?

이제 그림을 그리고 글자를 쓰는건 비트맵 클래스의 몫입니다.

자, Bitmap 클래스를 파헤쳐봅시다!




우선 글자를 쓰시려면 폰트명, 폰트크기를 먼저 조절해주셔야합니다.

폰트를 수정하기 위해서는

sprite.bitmap.font를 건드려야합니다.

sprite.bitmap.font.name = 폰트명 (배열로 만들어서 여러개의 폰트명을 사용할 수 있습니다.)
sprite.bitmap.font.size = 폰트 크기
sprite.bitmap.font.bold = '굵게' 여부
sprite.bitmap.font.italic = '기울임' 여부
sprite.bitmap.font.color = 폰트 색깔

자, 알맞게 수정하셨다면 이제 글씨를 쓸 차례!

sprite.bitmap.draw_text(x좌표, y좌표, 폭, 높이, 문자, 위치)

x좌표 : 글자를 띄울 x좌표입니다.
y좌표 : 글자를 띄울 y좌표입니다.
폭, 높이 : 일종의 뷰포트입니다. 글자를 띄울 때, 이 폭(혹은 높이)를 초과하게 되면 글자를 알아서 줄입니다. (축소시킨다고 보면 됩니다.
이 경우 심하게 질이 깨집니다. ㅡㅡ;)
문자 : 글자를 띄우려고 하는 문자입니다.
위치 : 글자를 정렬시킵니다. 0은 맨 왼쪽, 1은 중앙, 2는 맨 오른쪽입니다.

솔직히.. 전 x좌표 y좌표 맞추는게 제일 싫습니다 ㅡ_ㅡ;;
일일이 플레이해보면서 맞추는게.. 귀찮아죽겠네요 ㅠ_ㅠ

위치는 입력하지 않으면 자동으로 맨 왼쪽으로 정렬됩니다. 특별할 때만 건드리면 됩니다.

폭, 높이는.. 그냥 맘대로 줘버리세요. 아니면, text_size 함수를 사용하세요.

sprite.bitmap.text_size(문자)

이 함수는 문자를 띄우는데 필요한 폭, 높이를 rect 클래스로 돌려줍니다. (x, y는 모두 0입니다.)

폰트명, 폰트크기 등에 따라 폭, 높이가 바뀝니다. (기울임 여부는 안바뀝니다.)

이 함수를 이용하면 굳이 폭, 높이를 구하지 않아도 되지만 그냥 폭 640, 높이 100 주는게 짱입니다. =ㅅ= (폰트크기가 100을 넘는 경우는
거의 드물기 때문에 높이는 그냥 100으로.)

자, 이제 완벽하게 글자를 구현할 수 있게 됬습니다!
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 초급강의실 게임제작강좌 A-Z 색인 (2016.1.24 ver) 2 file 천무 2016.01.12 7440 1
172 중급강의실 이벤트에 지도넣기 (그림의 표시) 5 물판 2014.05.07 2289 1
171 중급강의실 외부 캐릭터 그래픽과 타일셋 그래픽 게임 내에 적용하기 Xanadu 2013.10.20 2247 0
170 중급강의실 예시를 통한 레이어의 사용 3 맵만드는중.. 2014.02.14 1465 3
169 중급강의실 엽여비의 야매강좌- VXA : 기초강좌-VXA의 이해 3 엽여비소엽 2015.10.09 870 0
168 중급강의실 액알강의[3] - 주석을 통한 설정 1 file 비밀소년 2006.07.21 5332 4
167 중급강의실 액알강의[2] - 일어서기위해 비밀소년 2006.07.30 5183 3
166 중급강의실 액알강의[1] - 베틀러 비밀소년 2006.08.07 8463 7
165 중급강의실 아이템을 새로 만들어내고싶어요! 2 하프 2013.12.01 1406 0
164 고급강의실 아이템 한번에 받기  운 2014.08.24 1154 0
163 중급강의실 아오오니처럼 따라오는 이벤트 만들기 5 빙냥이 2013.12.11 4360 3
162 중급강의실 식량이벤트 3 주섬주섬 2014.02.28 1339 1
161 중급강의실 스킬 주문서를 만들어봅시다! 2 neopop 2014.03.24 1232 0
160 중급강의실 스위치를 이용한 상자 만들기 강좌 4 리븐 2013.12.28 1400 0
159 중급강의실 상자를 끌고 밀어보자! 19 지루 2014.01.25 1674 0
158 초급강의실 변수를 이용한 식물 재배 3 file MoonJ 2017.05.28 3091 2
157 고급강의실 배틀창 이름 체력 레벨 좌표 변경하기 1 Seed 2014.06.19 1038 0
156 중급강의실 발소리 강좌 ( + 주석포함 ) 7 빙냥이 2013.12.10 1696 1
155 중급강의실 반도의 흔한 이벤트 강좌(간략화)-1- 1 RPG란무엇인가? 2015.11.11 788 0
154 고급강의실 뮤's 실전 스크립팅 강좌 [5. 실전! 반복문을 응용하자!] 2 마니아 2013.09.16 1411 0
153 고급강의실 뮤's 실전 스크립팅 강좌 [4. 실전! 플래싱 메시지를 만들어보자] 3 마니아 2013.09.16 2083 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10






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

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