언어/기타
2006.03.22 01:50

알툴 2k 씨리즈 픽쳐 데미지 표시법

조회 수 349 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
찾아보니 이건 없는것 같더군요.
(너무 기본적인거라서 아무도 쓰지 않은거일지도 =_=;)

2k 씨리즈에서 데미지를 나타내기 위해서는 픽쳐를 이용해야만 합니다.
그 방법에 대해서 간단히 다루어 보겠습니다.

1. 준비물
0 - 9까지의 숫자픽쳐
나타내고자 하는 숫자의 자리수만큼의 변수 + 1 의 변수

2. 숫자의 변수전환
만약 3245라는 숫자를 픽쳐로 나타내기 위해서는 어떻게 해야 할까요?

천의자리가 3일때 3이라는 픽쳐를 뿌려주고
백의자리가 2일때 2라는 픽쳐를 뿌려주고
십의자리가 4일때 4라는 픽쳐를 뿌려주며
일의자리가 5일때 5라는 픽쳐를 뿌려주면 됩니다.

원리는 간단하죠.
그럼 여기서 문제는 "각자리의 숫자를 어떻게 구분해주나" 입니다.
문제는 나눗셈과 승제를 이용하면 간단히 해결됩니다.

천의 자리수를 나타내기 위해 3245를 3으로 바꾸기 위해서는 어떻게 해야 할까요?
3245를 1000으로 나누어 주면 3.245가 나옵니다.
2k 씨리즈의 나눗셈은 소수점 이하는 버림으로 계산되죠.
즉 각 자리의 숫자는 1, 10, 100, 1000 으로 나누어 주면 그 자리의 숫자가 나온다는 것입니다.

그렇다면 백의 자리수를 나타내기 위해서 3245를 2로 바꾸기 위해서는?
3245를 245로 변환한 다음 100으로 나누어주면 답이 나옵니다.
3245를 245로 바꾸어 주기 위해서는 승제를 이용하면 됩니다.
2k에서 승제란 나눈 값의 나머지를 변수에 대입하는 명령어죠.
즉, 3245 를 1000으로 승제하면 245라는 값이 변수에 대입된다는 것입니다.

이런 원리를 이용하면 몇자리의 숫자라도 간단히 나타낼 수 있습니다.
그럼 실제 예를 들어보죠

백자리 숫자를 픽쳐로 나타내기 위해서는?
0001 : 나타내고자 하는 숫자가 대입되어 있는 변수
0002 : 계산을 위한 변수
0003 : 1의자리 픽쳐를 나타내는 변수
0004 : 10의자리 픽쳐를 나타내는 변수
0005 : 100의 자리 픽쳐를 나타내는 변수

여기서 0001의 변수는 변하지 말아야 할 값이니 0002에 대입해서 사용합니다.

/-숫자가 백의 자리를 넘지 않도록 처리
◆조건분기 : 변수[0001]이 999이상
  ◆변수의 조작 : [0001]대입, 999

/-계산을 위한 변수의 대입
◆변수의 조작 : [0002] 대입, 변수[0001]의 값

/- 숫자가 1의 자리일때
◆조건분기 : 변수[0001]이 10보다 작다.
  ◆변수의 조작 : [0003]대입, 변수[0002]의 값
  ◆변수의 조작 : [0004]대입, 0
  ◆변수의 조작 : [0005]대입, 0

/- 숫자가 10의 자리일때
◆조건분기 : 변수[0001]이 100보다 작다.
  ◆변수의 조작 : [0002]나눗셈, 10
  ◆변수의 조작 : [0004]대입, 변수[0002]의 값
  ◆변수의 조작 : [0002]대입, 변수[0001]의 값
  ◆변수의 조작 : [0002]승제, 10
  ◆변수의 조작 : [0003]대입, 변수[0002]의 값
  ◆변수의 조작 : [0005]대입, 0

/- 숫자가 100의 자리일때
◆조건분기 : 변수[0001]이 100 이상이다.
  ◆변수의 조작 : [0002]나눗셈, 100
  ◆변수의 조작 : [0005]대입, 변수[0002]의 값
  ◆변수의 조작 : [0002]대입, 변수[0001]의 값
  ◆변수의 조작 : [0002]승제, 100
  ◆변수의 조작 : [0002]나눗셈, 10
  ◆변수의 조작 : [0004]대입, 변수[0002]의 값
  ◆변수의 조작 : [0002]대입, 변수[0001]의 값
  ◆변수의 조작 : [0002]승제, 10
  ◆변수의 조작 : [0003]대입, 변수[0002]의 값

여기까지 하면 끝입니다.
나머지는 각 변수 0003, 0004, 0005 가 0 - 9일때
각 0 - 9의 숫자 픽쳐를 나타낸다는 조건분기 출력문을 넣어주면 됩니다.
픽쳐의 자리는 나타내고자 하는 대상의 화면 x,y 값을 받아와서 요리해서 띄워주면 되고요.
데미지의 표시라고 했으니 출력된 후 0.5 - 1초 후 그림의 삭제를 넣는것을 잊으시면 안되겠죠.

이 방법은 데미지의 표시뿐 아니라 여러곳에서 많이 쓰일 수 있는 방법입니다.
단점이 있다면... 픽쳐수를 너무 많이 잡아먹는 다는거죠.
액알에 사용할 경우 한 화면에 나타나는 적의 수를 제한하셔야 합니다.

그럼 응용해서 자유롭게 쓰시기 바랍니다.
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
944 언어/기타 2k에서 손쉽게 보수[걸음수] 계산하기 땡중 2008.02.11 2430
943 언어/기타 100%고수강의!(변수이론) 늑대소년 2005.05.18 2428
942 언어/기타 지형설정에서 원경(앞, 뒤)가 가지는 역할 file Dicky 2011.07.28 2421
941 언어/기타 2D격투게임만들기95 황금잉어빵 2007.03.08 2410
940 RPG Maker RPGVX 원거리액알 예제 記憶 2008.12.16 2408
939 언어/기타 3Ds Max로 모델링한거 띄우기 file 랜스 2008.05.02 2394
938 RPG Maker 초보자를 위한 그래픽 소스 게임에 넣을 때의 팁. 1 file 한글화마스터 2007.07.30 2384
937 RPG Maker [RPG2003] 한단계 도약 : 이중 변수번호의 변수 A. 미스릴 2011.07.31 2364
936 RPG Maker RPG XP 케릭터 메이커입니다. 타다기 2005.07.04 2330
935 언어/기타 [C++] 최단거리 구하는 알고리즘, E log V Dijkstra 악희 2007.08.05 2314
934 RPG Maker 가장 보편적인 범위 좌표 설정하기. 1 아싸사랑 2007.08.16 2308
933 언어/기타 콤보 스크립트 귀여븐닌자 2006.08.23 2297
932 언어/기타 몬스터 게이지바 만들기 블리쳐 2005.06.05 2280
931 언어/기타 액알 맵 1분 안에 만드는방법 천룡수 2006.11.14 2228
930 언어/기타 [TIP]대기 0초 Yggdrasil 2006.08.12 2221
929 언어/기타 캐릭터레이더 사용법[얼굴칩만들기편] 혼돈의하늘32 2005.07.26 2198
928 언어/기타 게시판 이용 및 라이센스 공지 J.Clifford 2006.09.13 2190
927 RPG Maker RPG 2K시리즈에서도 Script의 사용이 가능합니다. 타다기 2007.08.21 2177
926 RPG Maker RPG XP 배워보기 <변수를 마스터하자 상편> 1 덩키동크 2005.05.18 2160
925 RPG Maker 간단팁) XP에서 1초는 몇프레임인가? 유진 2007.09.04 2160
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51






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

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