언어/기타
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 RPG Maker [R2K]변수값을 픽쳐로 표시하기 file Iriaroan。 2010.04.11 985
943 RPG Maker rpg만들기2003사용법 2 C8마린 2010.02.24 886
942 RPG Maker MID 파일의 소리를 개선해보자. 1 file 밀크커피 2010.02.07 821
941 언어/기타 자작광석4개 A.M.S 2010.02.07 725
940 RPG Maker 은행 시스템 구현하기 1 앞만보맨 2009.11.03 814
939 RPG Maker RPG의뜻 1 zl게임을만들고파 2009.09.06 650
938 RPG Maker 다운로드 1 zl게임을만들고파 2009.09.06 761
937 언어/기타 마법에관한것들 zl게임을만들고파 2009.09.06 581
936 언어/기타 사운드 zl게임을만들고파 2009.09.06 421
935 언어/기타 화성학 기초 2 file C코드선생 2009.07.21 1020
934 언어/기타 게이지 강좌~~~ (자작자료사용) 3 file 게이지의달인 2009.05.29 929
933 언어/기타 잠입액션에서 적의 시야 설정하기 (예제有) 3 file rhj 2009.05.06 3326
932 RPG Maker 넷플레이 스크립트 2.0 사용법 3 독도2005 2009.05.03 3170
931 언어/기타 커맨드입력 4 엘류트 2009.04.17 2797
930 언어/기타 알만툴에서 윤년표현 file 엘류트 2009.04.17 2806
929 RPG Maker RPG2000 마우스 사용 관련 자료 1 file Black-☆ 2009.04.02 768
928 RPG Maker RPG2003 에서요 6 완폐남™ 2009.03.18 741
927 언어/기타 0.0초를 다룰때 조심할점 3 A. 미스릴 2009.03.13 2648
926 RPG Maker [vx]주인공들 체력 변수로 관리하기 (스크립트) 나나야츠루 2009.03.13 2882
925 언어/기타 게임을 시작한다음 튕기게 해보자(?) 4 file 켈군 2009.02.04 2947
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(김원배) | 사신지(김병국)