[VB6 ] 打磚塊板子反彈問題

看板Visual_Basic作者 (此處空白)時間15年前 (2011/03/25 22:08), 編輯推噓2(205)
留言7則, 1人參與, 最新討論串1/1
Private Sub Timer1_Timer() b.Left = b.Left + x b.Top = b.Top + y If b.Left <= 0 Then x = x * -1 If b.Top <= 0 Then y = y * -1 If b.Left + b.Width >= ScaleWidth Then x = x * -1 If b.Left + b.Width >= p.Left And b.Left <= p.Left + p.Width And b.Top + b.Height >= p.Top Then y = y * -1 End If End Sub -------- b是球 p是板子 球從板子的左上或右上進去的話 會卡在裡面反彈才出來 如圖: http://ppt.cc/g915 http://ppt.cc/uO6! 請問該如何解決 另外 在KeyDown移動板子的時候 球會停住不動 放開按鍵才會繼續移動 請問是什麼原因 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.207.141

03/26 17:23, , 1F
KeyDown是一次判定跟KeyUP一樣
03/26 17:23, 1F

03/26 17:24, , 2F
持續判定的是KeyPress才對
03/26 17:24, 2F

03/26 17:26, , 3F
然後你的判定應該是在板子上面那條線的部分
03/26 17:26, 3F

03/26 17:27, , 4F
微觀來看斜角進去時會在沒有判定反彈的情況下進入板子
03/26 17:27, 4F

03/26 17:27, , 5F
是因為你的板子跟球的比例幾乎類似了,就會有這問題
03/26 17:27, 5F

03/26 17:27, , 6F
請把板子的厚度縮小,或是增加判定點
03/26 17:27, 6F

03/26 17:28, , 7F
像是板子的中心線跟板子底部也各判定一次
03/26 17:28, 7F
文章代碼(AID): #1DZA74WV (Visual_Basic)
文章代碼(AID): #1DZA74WV (Visual_Basic)