1
XNA를 사용하여 화면에 텍스처를 그리는 것으로 알려져 있습니다. 나는 단지 이것을 작동시킬 수 없다. 텍스처를 올바르게로드합니다.XNA : 화면에 그려지지 않은 객체
protected override void Draw(GameTime gameTime)
{
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null,
selectedLevel.GetCamera().getViewMatrix(new Vector2(1.0f)));
graphics.GraphicsDevice.Clear(Color.Black);
foreach (MovableObject movableObject in selectedLevel.movableObjects)
{
if (movableObject is Enemy)
{
Enemy enemy = (Enemy)movableObject;
ThrowAttack attack = ((ThrowAttack)enemy.getAttack());
if (attack != null && attack.getThrowObject() != null)
{
attack.getThrowObject().Texture = TextureLoader.GetInstance().GetTexture(attack.getThrowObject().TextureName);
attack.getThrowObject().Animate(Direction.Right, gameTime);
attack.getThrowObject().Walk(Direction.Right, 2f);
attack.getThrowObject().Update(gameTime);
attack.getThrowObject().Draw(spriteBatch);
}
}
}
spriteBatch.End();
base.Draw(gameTime);
}
공격 오브젝트 그리기 : 상기 .draw 방법 작품
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, position, SpriteRectangle, Color.White, 0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0f);
}
감촉 위치 변수. foreach 루프의 특정 텍스처를 사용하지 마십시오.
아이디어가 있으십니까?
작동하지 않는 기능은 무엇입니까? 예외가 발생하거나 화면에 표시되지 않습니까? 디버거에서는'position'과'SpriteRectangle' 변수가 합리적입니까? – BradleyDotNET
SpriteRectangle은 0입니다. 그러나 그려진 스프라이트에 대해서도 마찬가지입니다. 그리고 네, 문제는 아무런 오류가 없거나 무엇이든합니다. 그것은 단지 표시되지 않지만 업데이트 (주위를 이동) 않습니다. – Kraishan
호기심에서 볼 수 없다면 어떻게 움직이는 지 알 수 있습니까? – BradleyDotNET