스프라이트의 왼쪽 상단 좌표를 가져 오는 데 문제가 있습니다. bounds.location.x \ y 또는 bounds.left \ top와 함께 texture2d.bounds를 사용하려고했습니다. 그러나 어떤 이유로이 매개 변수는 x = 0, y = 0이고 객체의 움직임은 변경되지 않습니다 (심지어 시작점이 0,0이 아닌 경우). 어떻게 해결할 수 있습니까?XNA 스프라이트의 왼쪽 상단 좌표를 얻습니다.
1
A
답변
3
Texture2D.Bounds
은 MSDN document에서 볼 수있는 것처럼 리소스의 크기를 가져옵니다. X
및 Y
위치는 항상 0이며, 필요하지 않으므로 Bounds
의 유일한 이유는 텍스처의 Width
및 Height
입니다.
이렇게 말하면 Texture2D
은 텍스처를 나타낼 뿐이며 이 아닌은 위치를 나타냅니다. 당신이해야 할 일은 2 차원 벡터 인 Vector2
을 사용하여 스프라이트의 위치를 정하는 것입니다.
예 : 각 스프라이트의 위치와 질감을 만드는
Texture2D sprite;
Vector2 position;
...
protected override void Draw(GameTime gameTime)
{
spriteBatch.Begin();
spriteBatch.Draw(sprite, position, Color.White)
spriteBatch.End();
}
대신, 당신은 별도의 스프라이트 클래스를 사용하면 위치, 질감 및 도면을 처리 할 수 있습니다.
public class Sprite
{
public Texture2D Texture { get; set; }
public Vector2 Position { get; set; }
public Sprite(Texture2D texture, Vector2 initialPosition)
{
Texture = texture;
Position = initialPosition;
}
public virtual void Draw(SpriteBatch spriteBatch, GameTime gameTime)
{
spriteBatch.Draw(Texture, Position, Color.White);
}
}
관련 문제
- 1. 왼쪽 상단 모니터의 왼쪽 상단 위치에 대한 좌표 가져 오기
- 2. 원의 원주 좌표를 알고있을 때 왼쪽 상단 좌표를 얻는 방법은 무엇입니까?
- 3. 확인란을 선택하면 좌표를 얻습니다.
- 4. jquery 사용자 위치의 "왼쪽 상단"과 "왼쪽 상단"의 차이점
- 5. 삽입 Google지도는 왼쪽 상단
- 6. 이미지 왼쪽 상단
- 7. Android 왼쪽 상단 버튼
- 8. 왼쪽 상단 및 오른쪽 상단 버튼
- 9. 두 개의 스프라이트의 XNA 애니메이션 전환 위치
- 10. libgdx - 스프라이트의 위쪽 가장자리 좌표를 찾으십니까?
- 11. iPhone : UIView의 왼쪽 위 좌표를 얻는 방법?
- 12. openGL : glrotate 후에 좌표를 얻습니다.
- 13. 도로상의 한 지점의 좌표를 얻습니다.
- 14. Android가 현재 GEO 좌표를 얻습니다.
- 15. 안드로이드가 이동하면 뷰 좌표를 얻습니다.
- 16. 2D 배열에서 값의 좌표를 얻습니다.
- 17. 이미지의 왼쪽 상단 위치 찾기
- 18. IE 상단 왼쪽 모서리 국경
- 19. 왼쪽 상단 모서리에서 이맥스 초기화하기
- 20. 자바 GridLayout과 해결 왼쪽 상단
- 21. Jquery - 화면의 왼쪽 상단 위치
- 22. 상단 왼쪽하기
- 23. 상자에 포함 된 왼쪽 상단 오른쪽 상단 위치 |
- 24. 왼쪽 상단 모서리 (0, 0)에서 거리를 계산하는 방법은 무엇입니까?
- 25. Swift - Google지도 SDK가 터치시 좌표를 얻습니다.
- 26. processID 또는 hWnd에서 창 좌표를 얻습니다.
- 27. Python - 가장 밀도가 높은 점의 좌표를 얻습니다.
- 28. jquery를 사용하여 그림을 기준으로 클릭 좌표를 얻습니다.
- 29. matlab에있는 플롯을 클릭하여 y 좌표를 얻습니다.
- 30. 안드로이드는 회전 후 새 좌표를 얻습니다.
이미 그려진 스프라이트? 그런 일은 없을 것이다. 스프라이트가 위치가있는 객체로 표시되지 않는 이유는 무엇입니까? – BradleyDotNET