我正在尝试移动并重新绘制图像但遇到以下问题:
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();
}
这是我的show方法:
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");
}
如果您需要更多可能的代码,我会更新此代码。我不确定到底发生了什么。任何帮助表示赞赏。