게임 점수판을 만들어 주겠습니다.
이것도 상당히 간단합니다. 전체적으로 이해만하신다면 순식간 + _ +흐흐

솔루션 창에 Fonts 라는 새폴더를 만들고 새항목 추가를 클릭하셔서
Sprite Font를 하나 만듭시다.

사용자 삽입 이미지
























제목은 위와 같이 해주시구요 ^^
만드신후 GameFont.spritefont 를 더블클릭하시면 XML이 나옵니다...뭐지...ㅎㅎ
걱정하지마시구 두가지만 설정해주시면 됩니다.
사용자 삽입 이미지








폰트네임과 크기를 설정해 주었습니다. 우리가 사용할 폰트 설정마쳤구요~이제 선언합시다.

사용자 삽입 이미지



선언부에 3가지가 추가 되었습니다. 위치에 0.1f,0.1f 이유는 아시겠죠 이제 ^^화면크기에 곱할거에욤
이제 폰트를 로드하도록 합시다.

사용자 삽입 이미지


요거 한줄 추가 되었습니다.

아 그리고 비행기 격추시 스코어 값을 더해줘야겠죠 ?

public void UpdateCannonBalls()함수에 이부분이 수정되었습니다.
사용자 삽입 이미지






1점씩 더해주시구요 이제 화면에 그리기만 하면 됩니다.^^

사용자 삽입 이미지





DrawString (
         글씨체(font),
         출력할text,
         위치,
         색지정
)
#참고 : ToString() 은 int값을 문자열로 반환합니다^^
자 이제 디버깅 해봅시다. ^^
사용자 삽입 이미지

이것으로 2D 슈팅게임 만들기가 완성되었습니다.
XNA에서 기본적으로 나오는 tutorial을 따라했습니다.
다음은 3D슈팅게임 만들기로 넘어가도록 하겠습니다.
소스 첨부 하겠습니다.^^
수고하셨습니다.



Posted by 알 수 없는 사용자
:

총알과 적기가 충돌하면 비행기가 사라지도록 구현하겠습니다.
간단합니다 충돌에 대한 메서드가 기본적으로 있어서-_-바로 적으면 되는군요;;

우리가 할일은 미사일영역과 비행기 영역을 설정해주고
그 두영역이 충돌시 없애주기만 하면 됩니다.
 public void UpdateCannonBalls() 함수를 수정합니다.
미사일이 발사 되었을 때 !!

사용자 삽입 이미지

















Intersects 이함수가 두영역이 곂쳐지면  true 를 출력합니다.
if문으로 간단하게 완성되었습니다.

디버깅해봅시다.

Posted by 알 수 없는 사용자
:

이번에는 적기를 출현시켜 보겠습니다.
선언부에 추가된 내용입니다.

사용자 삽입 이미지






적기 출현 높이가 0.1~0.5인 이유는 게임화면 높이에다가 곱해서 1/10지점에서~5/10 출현시키려고 합니다.

다음 로드컨텐츠에서 이미지를 로드합니다.
사용자 삽입 이미지
 





총알 발사와 마찬가지로 함수를 하나 만듭니다.
사용자 삽입 이미지




























적기 출현시 velocity 수치만큼  x축으로 이동할 것이구요~ 화면 밖으로 나가면 사라집니다.

위에 함수에서 새로 나온 부분이
                    enemy.position = //비행기의 출현 위치를 설정합니다//
                        new Vector2(
                        viewportRect.Right,
                        MathHelper.Lerp(
                        (float)viewportRect.Height * minEnemyHeight,
                        (float)viewportRect.Height * maxEnemyHeight,
                        (float)random.NextDouble()));
이부분 입니다.
조금 복잡해 보이지만 똑같습니다 MathHelper.Lerp 이부분만 이해하시면 쉽습니다.
MathHelper.Lerp(최소값, 최대값, 0~1비율값)
최소 최대값 사이에 값을 출력해주는 함수입니다.
0에 가까울수록 최소값에 가까운값을 출력하고
1에 가까울수록 최대값에 가까운 값을 출력합니다.
0이면 최소값 1이면 최대값이 되겠죠?
화면크기 높이* 0.1 ~ 화면크기높이 *0.5 이 사이에서 적기가 출현 할것입니다.
#참고 랜덤.NextDouble 0.0~1.0 사이의 난수를 반환합니다.

다음 움직임을 주는것도 똑같습니다. Vector2(x축,0) 비행기는 x축으로 움직여야 함으로
x축에 최대 최소 좌표값을 넣어두었습니다 1~5까지 랜덤하게 움직이겠습니다.
#참고 UpdateEnemies() 이함수는 매프레임 실행되어야 합니다. 어디에 넣는지 아시죠?

이제 적기의 모든 초기화가 끝났습니다. 이제 화면에 출력하도록 합시다.

사용자 삽입 이미지







별다른 내용없습니다. 이제 디버깅해봅시다.
사용자 삽입 이미지

Posted by 알 수 없는 사용자
:

BLOG main image
XNA Project
by j3rry

공지사항

카테고리

분류 전체보기 (27)
XNA SQUARE (2)
Xna로 가는길 (14)
Toris (1)
지에고 (13)
lovelygirl (0)
Soks (0)
XNA Project (8)
XNA 자료 (2)
Design & Architecture (1)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today : Yesterday :