Я немного новичок в XNA, но знаю достаточно, чтобы начать делать 3D-игру. Я делал все в порядке, но потом, когда я попытался добавить вращения игрока, возникла проблема. Поскольку поворот основан на создании таймера в игре (gameTime.ElapsedGameTime.TotalSeconds), он всегда идет. Если я остановлюсь, а затем начните снова, он прыгнет в новую точку. То, что я хочу сделать, - это поворот, который остановился там, где он остановился. Любое решение оценивается. Код вращения приведен ниже. Дополнительный код доступен по запросу.Временное вращение glitchy movement
//Update view matrix
view = Matrix.CreateLookAt(new Vector3(X - 10, Y - 10, Z - 10), new Vector3(lookAt.X, lookAt.Y, lookAt.Z), Vector3.UnitZ);
//Update rotation variable
rotation += (float)(gameTime.ElapsedGameTime.TotalSeconds);
//Get input to determine whether or not to rotate
if (key.IsKeyDown(Keys.Left)) lookAt.X = (float)(Math.Cos(rotation));
if (key.IsKeyDown(Keys.Right)) lookAt.X = (float)(Math.Cos(-rotation));
if (key.IsKeyDown(Keys.Left)) lookAt.Y = (float)(Math.Sin(rotation));
if (key.IsKeyDown(Keys.Right)) lookAt.Y = (float)(Math.Sin(-rotation));
Большое спасибо. Я иногда делаю что-то вроде этого, когда думаю, что есть только некоторый расширенный ответ, поэтому я делаю все эти проводные вещи, пока есть простой, просто сидящий там. Я попробовал, и он отлично работает! Еще раз спасибо! – SupremeSteak1