作者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
1F:推 KawasumiMai:KeyDown是一次判定跟KeyUP一样 03/26 17:23
2F:→ KawasumiMai:持续判定的是KeyPress才对 03/26 17:24
3F:推 KawasumiMai:然後你的判定应该是在板子上面那条线的部分 03/26 17:26
4F:→ KawasumiMai:微观来看斜角进去时会在没有判定反弹的情况下进入板子 03/26 17:27
5F:→ KawasumiMai:是因为你的板子跟球的比例几乎类似了,就会有这问题 03/26 17:27
6F:→ KawasumiMai:请把板子的厚度缩小,或是增加判定点 03/26 17:27
7F:→ KawasumiMai:像是板子的中心线跟板子底部也各判定一次 03/26 17:28