作者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