C # Как я могу переместить окно рисунка, который меняет изображения в зависимости от направления, в котором он стоит? - PullRequest
0 голосов
/ 02 февраля 2019

Используя visual studio 2015, я использую графическую рамку в качестве плеера и заставляю ее двигаться вверх, вниз, влево и вправо.Когда окно с изображением перемещается, оно сжимается и выглядит как телепортирующееся.Это не то, что он должен делать.Как правильно заставить окно изображения меняться всякий раз, когда я нажимаю клавиши wasd?

if (e.KeyCode == Keys.D)
{
    x += 6;
    playerBox.Image = Properties.Resources.playerRight;
}

// перемещает игрока вправо и меняет изображение

1 Ответ

0 голосов
/ 02 февраля 2019

Просто добавьте / вычтите, картинка сверху и слева:

if (e.KeyCode == Keys.D)
{
    playerBox.Left += 6;
    playerBox.Image = Properties.Resources.playerRight;
}

также, чтобы избежать смены фотографии каждый раз, если направление не изменилось, вы можете сделать что-то вроде этого:

if (e.KeyCode == Keys.D)
{
    playerBox.Left += 6;
    if((Keys)playerBox.Tag!=e.KeyCode)
    playerBox.Image = Properties.Resources.playerRight;
}

Вы, конечно, должны установить некоторое начальное значение для playerBox.Tag, иначе вы получите ошибку, поскольку оно не может быть приведено к Keys

...