안녕하세요 저는 현재 2D 전투기를 XNA 4.0을 사용하는 오래된 Mortal Kombats와 비슷하게 만들고 있습니다. 어쨌든, 저는 현재 펀치 애니메이션을 제작하려고합니다.스프라이트와 XNA를 사용하여 전투기에서 펀치 프로그래밍
플레이어가 유휴 상태에 있고 왼쪽 컨트롤을 누르면 플레이어가 펀치해야합니다.
이제 플레이어가 화면 왼쪽을 향하고 있다고 가정합니다. 내 모든 스프라이트가 오른쪽을 향하도록 그려져 있습니다. 따라서 플레이어가 펀치를하면 스프라이트가 뒤집혀 그려집니다.
문제는, 플립 된 펀치 프레임의 가장 왼쪽 부분을 자신의 유휴 프레임의 가장 왼쪽 부분과 정렬하기 때문에 플레이어가 갑자기 우연히 텔레포트하는 것처럼 보입니다 (그게 적어도 내가 생각하는 것입니다) . 이 문제를 해결할 방법을 생각할 수 없습니다.
지금은 코드가 상당히 큽니다. 누군가가 문제의 가능한 부분을 파악할 수 있다면 그 코드를 게시하게되어 기쁩니다.
MSDN에서SpriteBatch.Draw (Texture2D, Rectangle, Nullable<Rectangle>, Color, Single, Vector2, SpriteEffects, Single)
가 : 스프라이트의 배치에 스프라이트를 추가 지정된 질감, 대상 사각형, 원 직사각형을 사용하여 색상을 렌더링 내가 바로 그것을 가지고있는 경우
확인해야 할 코드 영역을 어떻게 알 수 있습니까? – BeRecursive
@BeRecursive 당신이 높은 수준에서 무엇인가를 확인할 수 있다면 의미가 있습니다. 이 게임들은 비슷한 구조를 가지고 있습니다. 본질적으로 모든 프레임을 같은 방법으로 그립니다. 지정된 너비와 높이에 대해 지정된 위치에서 시작합니다. 모든 애니메이션의 프레임 위치를 하드 코드했습니다. –