Python Line-Circle碰撞

时间:2013-01-11 10:21:28

标签: python line collision-detection pygame geometry

此问题再次出现在PyParticles4上 Link to last question for reference

评论如果不清楚......

我正在制作一个射击游戏,就像this一样,但是在一个平坦的土地上,每一个转弯都会改变它的高度(游戏中有趣的东西)和2个玩家,每个都有一个可以在每个转弯处移动一些距离(有一个限制,并且它们不能从其起始位置移动超过一定量)的加农炮(玩家决定他是否希望移动)。

我的代码:

class Bullet(PyParticles.Particle):
    def hit_s(self,shooterlist):
        for shoot in shooterlist:
            #collision with the rect
            dist = math.hypot(dx,dy)
    def hit_w(self,wall):
-------------------------
        #confusion
-------------------------
    # other funcs to added
class Shooter:
    def __init__(self,pos,size):
        self.rect = pygame.Rect(pos,size)
    # other funcs to added
class Wall:
    def __init__(self,(sx,sy),(ex,ey),width):
        self.start = (sx,sy)
        self.end = (ex,ey)
        self.width = width
# (things needed for pygame.draw.line()).

我的问题

子弹与墙壁的碰撞。关于如何知道子弹击中墙壁的任何想法?

我认为更快的东西会更好......

此外,如果球击中墙壁,球应该反弹,这样它就有机会击中最初击球的球员(强墙!),所以墙壁不会被切断,就像在游戏(在开始时提到)。

0 个答案:

没有答案