Перемещение и перерисовка растровых изображений оставляет «след»? (C ++)

Я пытаюсь переместить и перерисовать изображение, но у меня возникает следующая проблема:

http://tinypic.com/r/2m26kbm/8

Вот код, который я использую для принудительного перемещения, показа и затем Invalidate ().

    private: System::Void eventTimer_Tick(System::Object^  sender, System::EventArgs^  e) {
if (!listOfBots->IsEmpty())
{
listOfBots->MoveBots();
listOfBots->ShowBots();
}
Invalidate();
}

Вот мой метод показа:

void VBot::Show()
{
Graphics ^ g = panel->CreateGraphics();
g->DrawImageUnscaled( image, x, y );
g->~Graphics();
}

Это все, что у меня есть для моего Move ():

void SpinBot::Move()
{
y += 2;
x += 8;
}

и мой конструктор:

SpinBot::SpinBot(int atX, int atY, Panel ^ thisPanel) : VBot(atX, atY, thisPanel)
{
energy = 500;
image = gcnew Drawing::Bitmap("spinBotImg.bmp");
}

Если вам понадобится больше кода, я его обновлю. Я не уверен, что именно происходит. Любая помощь приветствуется.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]