ohxho 发布留言 2008-7-22 12:18
如何实现键盘的上下键移动小球
就是在from中有一个小球..我想用键盘的方向键
使它移动?
xyq701830 发布留言 2008-7-22 12:34
小球是图片吗,
给他的location值改下啊.
获得下键盘上下的键位来移动啊
xyq701830 发布留言 2008-7-22 12:36
hoho~只是想法而已.
应该能实现的吧.
yangyaming6208 发布留言 2008-7-22 12:36
方向键有"上下左右",
按上键"X坐标不变,Y坐标增加(自己设定增量)",
按下键"X坐标不变,Y坐标减小(自己设定增量)",
按左键"Y坐标不变,X坐标减小(自己设定增量)",
按右键"Y坐标不变,Y坐标增加(自己设定增量)"
ohxho 发布留言 2008-7-22 12:37
..那个小球应该要给一个方法给他..
是用PAN画出来的小球
ohxho 发布留言 2008-7-22 12:38
有具体的方法或实例吗?
ohxho 发布留言 2008-7-22 12:41
有个人给了个这样的方法..
KeyboardState ks = Keyboard.GetState();
if (ks.IsKeyDown(Keys.Up))
{
MoueUp();
}
else if (ks.IsKeyDown(Keys.Down))
{
MoveDown();
}
else if (ks.IsKeyDown(Keys.Left))
{
MoveLeft();
}
else if (ks.IsKeyDown(Keys.Right))
{
MoveRight();
}
我也不知道怎么用
yangyaming6208 发布留言 2008-7-22 13:29
//定义个常量步长为L,我赋值是2(你可以随便赋值)
const int L = 2;
//Form里面的一个事件KeyDown,在Form里面用了个lable(里面随便写几个字)我取名叫lblQ
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
{
this.lblQ.Location = new Point(this.lblQ.Location.X, this.lblQ.Location.Y - L);
}
if (e.KeyCode == Keys.Down)
{
this.lblQ.Location = new Point(this.lblQ.Location.X, this.lblQ.Location.Y + L);
}
if (e.KeyCode == Keys.Left)
{
this.lblQ.Location = new Point(this.lblQ.Location.X - L, this.lblQ.Location.Y);
}
if (e.KeyCode == Keys.Right)
{
this.lblQ.Location = new Point(this.lblQ.Location.X + L, this.lblQ.Location.Y);
}
}
还是帮你写下吧!呵呵!我调试过了可以的!
itwalker 发布留言 2008-7-22 13:36
楼上是正解.并且.一定要在OnKeyDown中实现而不能使用OnKeyUp.
[ 本帖最后由 itwalker 于 2008-7-22 13:43 编辑 [/it]]
ohxho 发布留言 2008-7-22 13:38
哈哈真的可以了..
谢谢你...
ohxho 发布留言 2008-7-22 13:38
困扰我多时的我问题终于解决了..
[tk05]
xyq701830 发布留言 2008-7-22 13:48
[em10] 网上找找或者自己多做下都能实现的.
呵呵.
页: [1]