作者sleeping1013 (基老)
看板C_Sharp
标题[问题] 如何在视窗程式中按一个按键产生一个物件
时间Mon Jun 28 19:14:00 2010
如题
我想写一个类似轰炸超人的程式
我希望能够按一颗键後产生炸弹在人物按按键时的位置上
我用graphic画图 读炸弹的图档然後位置取用人为现在的位置
但是却画不出来~
我写的程式码如下:
private void Form1_KeyDown(object sender, KeyEventArgs e)/*按键产生的事件*/
{
switch (e.KeyCode)
{
case Keys.Right:
{
picS.Location = new System.Drawing.Point(picS.Location.X + 20,
picS.Location.Y);
break;
}
case Keys.F:
{
string fileName;
graphics = CreateGraphics();
fileName = "..\\pic_for_show\\bomb_pic.jpg";
image = Image.FromFile(fileName);
graphics.DrawImage(image, picS.Location.X, picS.Location.Y,85, 150);
break;
}
}
但若将炸弹画出来的位置改为定值(20,20)就可以画出来
为什麽会这样呢?
顺便问另一个问题,炸弹爆炸的delay时间是用sleep()来写吗?
这样会不会是让整个程式都暂停而角色也不能移动了?
感谢回覆!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.227.191.87
※ 编辑: sleeping1013 来自: 125.227.200.103 (06/28 20:09)
1F:→ james732:炸弹爆炸请用 timer 来写 06/28 20:12
2F:推 ZanFu5566:你的picS.Location有初始值吧? 06/29 07:54
3F:→ ZanFu5566:你的按键判定不用HOOK会不会在焦点不是FORM的时候不能用 06/29 07:56