[問題] 如何在視窗程式中按一個按鍵產生一個物件

看板C_Sharp作者 (基老)時間15年前 (2010/06/28 19:14), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
如題 我想寫一個類似轟炸超人的程式 我希望能夠按一顆鍵後產生炸彈在人物按按鍵時的位置上 我用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)

06/28 20:12, , 1F
炸彈爆炸請用 timer 來寫
06/28 20:12, 1F

06/29 07:54, , 2F
你的picS.Location有初始值吧?
06/29 07:54, 2F

06/29 07:56, , 3F
你的按鍵判定不用HOOK會不會在焦點不是FORM的時候不能用
06/29 07:56, 3F
文章代碼(AID): #1CA8Fxaw (C_Sharp)