this.KeyDown += (s, e) =>
{
if (e.KeyCode == Keys.Up)
{ }//上
if (e.KeyCode == Keys.Down)
{ }//下
if (e.KeyCode == Keys.Left)
{ }//左
if (e.KeyCode == Keys.Right)
{ }//右
};
{
if (e.KeyCode == Keys.Up)
{ }//上
if (e.KeyCode == Keys.Down)
{ }//下
if (e.KeyCode == Keys.Left)
{ }//左
if (e.KeyCode == Keys.Right)
{ }//右
};
{
switch (e.KeyCode)
{
case Keys.W:
{
//
}
break;
case Keys.A:
{
//
}
break;
case Keys.S:
{
//
}
break;
case Keys.D:
{
//
}
break;
}
}顺便一提,想让圆移动的话可以先擦除原来的,再改坐标,再画一个新的圆。
public void MoveLeft()
{
m_RunBrick.Erase(m_MainPalette);
m_RunBrick.X--;
m_RunBrick.Paint(m_MainPalette);
}m_RunBrick是我创建的一个Brick类的对象,Brick类是自己造的,里面有X和Y两个int型坐标,还有用于擦除图形的Erase方法和用于画出图形的Paint方法。MoveLeft方法中的三行就是我说的先擦后改最后再画如果楼主还不知道怎么实现擦除和画出图形的话,建议去看看这个教程:
http://wenku.baidu.com/link?url=c_38P335wQBkaOofPRxmaowDLoW8JujIxPvM-XrqaH2kSiQ3TFosqjfxktqlJhHohiquGdPB8fLmLhEpKV7CtR6hHTTbR0due5MloeKFJNy个人认为这个教程简单易懂,最后还能做出个小游戏来玩,挺有趣的。基于这个方块画面,我还想做一个类似于坦克大战一样的游戏,可是因为控制操作的多线程问题没解决,进度一直停滞不前