我正在尝试制作游戏。我正在使用图片框。这个概念是,当 pcbox 击中另一个时,它会加分。所以我想要一个像鼠标进入图片框的事件(当一个图片框进入另一个图片框时)。我试过这段代码,但效率不高
If pc1.left = pc2.left - 120 Then
Call MsgBox("whatever")
ElseIf pc1.left = pc2.left + 120 Then
call msgbox("hit")
EndIf
我正在尝试制作游戏。我正在使用图片框。这个概念是,当 pcbox 击中另一个时,它会加分。所以我想要一个像鼠标进入图片框的事件(当一个图片框进入另一个图片框时)。我试过这段代码,但效率不高
If pc1.left = pc2.left - 120 Then
Call MsgBox("whatever")
ElseIf pc1.left = pc2.left + 120 Then
call msgbox("hit")
EndIf
你应该避免图片框到处乱飞,但这是我的答案:
Dim rectangle1 as Rectangle = pc1.Bounds
Dim rectangle2 as Rectangle = pc2.Bounds
If (rectangle1.IntersectsWith(rectangle2)) Then
//whatever
Else
//hit
EndIf
甚至
If (pc1.Bounds.IntersectsWith(pc2.Bounds)) Then
//whatever
Else
//hit
EndIf
这会检测到图片框的任何交集,但正如我所提到的,这不是在 vb.net 中编写游戏的合适方式。
也许您应该考虑阅读本指南,了解如何编写一个简单的乒乓球游戏(没有作为演员的控件)。