언어/기타
2006.03.22 01:50

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

조회 수 356 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
384 언어/기타 자료구조 (3) - 링크리스트 성령의분노 2006.03.24 472
383 언어/기타 케릭터이름쉽게짓는방법 cksduwehtl 2006.03.24 2017
382 언어/기타 은행이 필요하실때 쓰셈 귀여븐닌자 2006.03.22 377
» 언어/기타 알툴 2k 씨리즈 픽쳐 데미지 표시법 하로우 2006.03.22 356
380 언어/기타 액션알피지 만들기 1 귀여븐닌자 2006.03.22 2099
379 RPG Maker 알툴 2k 에서의 SRPG 구현에 대한 고민 1 하로우 2006.03.19 1242
378 언어/기타 플레이어들을 속여보자. 다크아머 2006.03.19 739
377 언어/기타 게임은 게임... 현실성을 너무 강조하지 말자. 다크아머 2006.03.17 584
376 언어/기타 제작노트의 힘! - 게임제작속도를 올려주마! 『덩키동크』 2006.03.12 755
375 RPG Maker [RXP]윈도우 만들기 3탄-특이한 텍스트들(프레임편) 『연금술사』 2006.03.11 536
374 언어/기타 [겜살 프로젝트..?] 200X 포트리스 재탕... 쿨럭 file [S's-S] 2006.03.10 271
373 언어/기타 은행 시스템을 만들어 봅시다. 사토루 2006.03.06 760
372 언어/기타 게임 동영상 만들기 사토루 2006.03.06 2014
371 언어/기타 은행 시스템을 만들어 봅시다. 사토루 2006.03.05 337
370 언어/기타 오토가드 만들기(이론만) 『연금술사』 2006.03.05 589
369 언어/기타 게임의 기획에 대한 내용. 한글화마스터 2006.03.02 572
368 언어/기타 필살기나 기술을 사용할 때에는.. Hello_k 2006.02.28 757
367 언어/기타 디아블로의 특성기능 사용하기(.ㅡ.??) Hello_k 2006.02.28 683
366 언어/기타 스킬은 그냥 배우는것이아니라 돈주고 배우자 Hello_k 2006.02.28 522
365 RPG Maker RPG단축키 이용 Hello_k 2006.02.28 773
Board Pagination Prev 1 ... 27 28 29 30 31 32 33 34 35 36 ... 51 Next
/ 51


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

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