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

솔루션 창에 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)
XNA Project (8)
XNA 자료 (2)
Design & Architecture (1)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2008/11   »
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
Total :
Today : Yesterday :