在python中查找对象之间的距离-不起作用

问题描述 投票:0回答:1

我目前正在使用Python开发一个简单的飘扬的小鸟游戏。由于某些原因,当管道和鸟碰到时,碰撞代码不起作用。

def collision():
global distanceDown, distanceUp
distanceUp = math.sqrt(math.pow(pipeUpX - birdX, 2) + math.pow(pipeUpY - birdY, 2))  # distance formula
distanceDown = math.sqrt(math.pow(pipeDownX - birdX, 2) + math.pow(pipeDownX - birdY, 2))

if distanceUp <= 20 or distanceDown <= 20:
    return True
else:
    return False

[我已经在主游戏循环中调用了该函数,并要求python结束游戏是否为真,但是那只鸟只是通过管道。仅供参考,我没有使用OOP和类。这是值。 >

pipeWidth = 50
pipeHeight = 130
pipeUpX = 800
pipeUpY = 0
pipeDownY = screenY - pipeHeight
pipeDownX = 900
pipeX_change = 1

另外,我对python和整个编程还是很陌生,所以请以易于理解的代码回答。谢谢:)

我目前正在使用Python开发一个简单的飘扬的小鸟游戏。由于某些原因,当管道和鸟碰到时,碰撞代码不起作用。 def crash():全局distanceDown,distanceUp ...

python pygame collision-detection
1个回答
0
投票

该代码未验证到管道的距离。该代码验证到管道起点和终点的距离。那是不同的。

© www.soinside.com 2019 - 2024. All rights reserved.