언어/기타
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
번호 분류 제목 글쓴이 날짜 조회 수
» 언어/기타 알툴 2k 씨리즈 픽쳐 데미지 표시법 하로우 2006.03.22 349
943 언어/기타 일단 예제를 만들어보십쇼5칸이내로 가면 죽는 시스템 のㅏ②뜨 2005.08.11 350
942 언어/기타 <응용강좌> 키패드 file 린쌍 2006.07.25 350
941 언어/기타 선행처리기예제 연지 2007.02.01 354
940 언어/기타 -_- 훗... 비법따위 이정도로.. 예화 2005.12.09 355
939 언어/기타 질문이요. 블랙호크 2006.01.07 357
938 언어/기타 [울스M프로젝트?!-┏]Html 기초부터 탄탄히 ! -4- 울스M 2006.02.08 357
937 언어/기타 [스샷없음]이동속도업물약만들기 내가☆쟈크야 2005.09.10 362
936 언어/기타 [자작강좌]커먼이벤트사용 플레니아 2006.04.30 363
935 언어/기타 난 기본으로 논다! 1강 - 맵 [실내편] Adast 2006.08.08 365
934 언어/기타 보스 패턴만들기 無正死人 2006.01.18 368
933 언어/기타 은행이 필요하실때 쓰셈 귀여븐닌자 2006.03.22 371
932 언어/기타 바람수지매클 이동리스트 작성요령 file 청연 2006.12.20 372
931 언어/기타 [자작 강좌]아래거 보다 간편한(?) 상자 밀기 시스템 입니다. 플레니아 2006.04.25 373
930 RPG Maker [MiNi'M']무한RPG를 만들어보자-일편:기획 *RPG2000 MiNi'M' 2006.05.11 376
929 언어/기타 캐릭터 고정하는 법! 윤수마루 2005.09.15 378
928 언어/기타 C#.NET 유용한 포인터 사용법(1) - 스택기반의 배열 괴짜인간 2006.08.10 378
927 언어/기타 관계형연산자 dnajs 2006.10.05 380
926 언어/기타 전에 한번 올렸는데 삭제됬군요 0.0초 대기시간의 분석.. [S's-S] 2006.09.01 383
925 언어/기타 자작 시스템 [z]버튼 누르고 상자밀고 끌기 시스템... - 3- file 플레니아 2006.04.25 383
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(김원배) | 사신지(김병국)