首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让我的picturebox检测冲突并弹出?

如何让我的picturebox检测冲突并弹出?
EN

Stack Overflow用户
提问于 2014-03-18 22:00:23
回答 1查看 403关注 0票数 0

这是我的碰撞方法,但它只是朝相反的方向反弹。

代码语言:javascript
运行
复制
'Collision Method 1
    Dim Col As Boolean = Collision(pxbox, pbpaddle1)
    If Col = True Then
        moveRight = Not moveRight
        moveDown = Not moveDown
    End If

    Dim Col2 As Boolean = Collision(pxbox, pbpaddle2)

    If Col2 = True Then
        moveRight = Not moveRight
        moveDown = Not moveDown
    End If

这是我的碰撞函数

代码语言:javascript
运行
复制
Private Function Collision(ByVal P1 As PictureBox, ByVal P2 As PictureBox) As Boolean
    If P1.Left + P1.Width < P2.Left Then Return False
    If P2.Left + P2.Width < P1.Left Then Return False
    If P1.Top + P1.Height < P2.Top Then Return False
    If P2.Top + P2.Height < P1.Top Then Return False

    Return True

End Function
EN

回答 1

Stack Overflow用户

发布于 2014-03-19 02:07:15

有几个问题。

  1. 目前还不清楚是P1、P2还是两者都在移动。是图片框在包含图片框的内部移动,还是两个图片框在屏幕上移动?
  2. 在函数冲突中,您应该测试所有四种可能性,并在四种可能性都不满足时返回false。
  3. 在碰撞方法中,对于垂直或水平“墙”的碰撞,应该只更改Moveright或Movedown,但不能同时更改两者(除非碰撞发生在角落中)。
  4. 如果碰撞发生在两个球之间,则应使用平均角度(按每个球的速度和质量加权),并使用该角度的垂直度作为球弹离的“墙”。(假设球没有直径。)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22481653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档