티스토리 뷰

이번에는 스프라이트 애니메이션이 적용된 케릭터에게 움직임을 주도록합니다.
좌우위아래로 자연스럽게 움직이는 케릭터를 `ㅡ` ㅋ

사용자 삽입 이미지

비행기 의 모습입니다. 이상하게 생겼지만 팽귄입니다..-_-...(어딜봐서...)

자 시작합니다.

가장 먼저 비행기를 화면상으로 나타내야합니다.

사용자 삽입 이미지

일단 가장먼저 비행기(펭귄)을 불러올 2D이미지를 선업합니다.
Texture 2D pengs;
그리고 이 펭귄을 움직임을 줄 벡터를 선업합니다.
Vector2 pengmove;

사용자 삽입 이미지







컨텐트에 Flight 의 비행기를 불러와주시구요 ( 불러오는 방법은 컨텐트>오른쪽마우스>추가 >기존항목)
불러오셨으면 로드 하도록합시다 앞에서 선언안 pengs에 이미지를 넣어봅시다.

사용자 삽입 이미지
  pengs = Content.Load<Texture2D>("Flight"); 자 그림파일을 pengs 에 저장했구요
다음으로는 케릭터의 움직임을 지정해줍시다.
사용자 삽입 이미지

 protected override void Update(GameTime gameTime)
게임실행시 계속해서 실행하라는 곳입니다.

일단 현재 키보드상태의 정보를 가지고있는 녀석을 지정해주시구요
 KeyboardState currentKeyState = Keyboard.GetState();
currentKeyState 요놈이 사용자가 키보드에 무엇을 입력했는지 저장하고 있습니다.
이제 수치값을 지정해봅시다 매초마다 얼만큼 움직이게 할것인가 입니다.

 float move = 200 * (float)gameTime.ElapsedGameTime.TotalMilliseconds / 1000.0f;
float 형태의 move를 지정합니다. float형태는 소수점까지 저장할수있는 형태입니다.
앞에 수치값의 변화에 따라 움직임의 속도가 달라집니다. 높을수록 빠르겠죠?

if (currentKeyState.IsKeyDown(Keys.Right))
                pengmove.X += move;
            if (currentKeyState.IsKeyDown(Keys.Left))
                pengmove.X -= move;
            if (currentKeyState.IsKeyDown(Keys.Up))
                pengmove.Y -= move;
            if (currentKeyState.IsKeyDown(Keys.Down))
                pengmove.Y += move;

만약 키보드 오른쪽 키를 눌렀다면 pengmove를 x축의 +방향으로 move 만큼 이동시켜라.
나머지 좌 위 아래도 같은 방법으로 코딩해줍니다.

자 모든 준비가 끝났습니다. 이제 상콤하게 움직여 봅시다.

화면상에 출력하는 부분으로 가봅시다.

사용자 삽입 이미지

Draw 가 화면상에 그리는 부분입니다.
   spriteBatch.Draw(pengs, pengmove, flightangle[anim], Color.White);
그립시다. ( 이미지명, 움직임 , 이미지변경애니메이션 , 색 )
flightangle[anim] < 이부분은 스프라이트 이미지 입니다. 앞에 강의 참조하시구요~ㅎ

자 이제 디버깅해봅시다.



다음시간에는 미사일을 발사 시키도록 합시다.
댓글