Я пытаюсь использовать класс Sprite в Microsoft.DirectX.Direct3D для рисования некоторых спрайтов на моем устройстве.
GameObject go = gameDevice.Objects[x];
SpriteDraw.Draw2D(go.ObjectTexture,
go.CenterPoint,
go.DegreeToRadian(go.Rotation),
go.Position,
Color.White);
GameObject - класс, который я написал, в котором хранится вся основная информация, необходимая для игрового объекта (например, графика, текущее положение игры, вращение и т. Д.)
Моя игральная кость со Sprite.Draw2D - это параметр Position (здесь устраивает go.Position)
если я передаю go.Position, спрайт отрисовывается в 0,0 независимо от значения Position объекта.
Я протестировал жесткое кодирование в «новой точке (100, 100)», и все объекты нарисовали на 100,100.
Я не могу понять, почему переменная неправильно удовлетворяет параметру.
Я немного погуглил, и многие люди говорили, что Sprite.Draw2D в MDX глючит и работает нестабильно, но я не нашел решения.
Поэтому я призываю «Переполнение стека» пролить свет на эту проблему!
Fixed