作者donaldtsai (此處空白)
看板Visual_Basic
標題[VB6 ] 打磚塊板子反彈問題
時間Fri Mar 25 22:08:01 2011
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
推 KawasumiMai:KeyDown是一次判定跟KeyUP一樣 03/26 17:23
→ KawasumiMai:持續判定的是KeyPress才對 03/26 17:24
推 KawasumiMai:然後你的判定應該是在板子上面那條線的部分 03/26 17:26
→ KawasumiMai:微觀來看斜角進去時會在沒有判定反彈的情況下進入板子 03/26 17:27
→ KawasumiMai:是因為你的板子跟球的比例幾乎類似了,就會有這問題 03/26 17:27
→ KawasumiMai:請把板子的厚度縮小,或是增加判定點 03/26 17:27
→ KawasumiMai:像是板子的中心線跟板子底部也各判定一次 03/26 17:28