Показать сообщение отдельно
Старый 26.06.2012, 14:11   #117
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Вопросы по XNA.

Ясно.
Так, всё же с векторами какие-то проблемы.
{
            playerMoves = false;
            if (Keyboard.GetState().IsKeyDown(Keys.D))
            {
                playerSpeed.X += 5;
                playerMoves=true;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.A))
            {
                playerSpeed.X -= 5;
                playerMoves = true;
            }  
            if (Keyboard.GetState().IsKeyDown(Keys.W))
            {
                playerSpeed.Y -= 5;
                playerMoves = true;
            }  
            if (Keyboard.GetState().IsKeyDown(Keys.S))
            {
            playerSpeed.Y += 5;
            playerMoves = true;
            }
            if (playerMoves == true)
            {
                playerSpeed.Normalize();
                playerSpeed *= playerAbsSpeed;
                playerPosition += playerSpeed;
            }
        }
Если нажать влево, а затем вправо, Player улетает непонятно куда( если мониторить playerPosition то улетает он в NaN,NaN ). Что я не так сделал?
З.Ы. знаю что дело можно исправить, если добавить
playerSpeed = Vector2.Zero;
в самое начало, но интересует из-за чего происходит непонятка с координатами без этой строчки.
(Offline)
 
Ответить с цитированием