【发布时间】:2023-03-26 05:19:02
【问题描述】:
我正在制作一个塔防游戏,对于塔的范围,我以塔为中心点做了一个圆圈。虽然,当我使用 pygame.draw.rect() 画一个圆时,它似乎在一个完全不同的位置。这是它的代码。
变量:
Radius = 50
Center_X = 100
Center_Y = 100
用于检查敌人是否在圆圈范围内:
for Enemy in Enemies:
if ((Enemy['Rect'].left + 10) - Center_X)^2 + ((Enemy['Rect'].top + (35/2)) Center_Y)^2 < Radius^2:
print(1)
画圆:
pygame.draw.circle(Window, Black, (Center_X, Center_Y), Radius, 0)
【问题讨论】:
-
与什么相比,绘制的圆圈似乎位于完全不同的位置?
-
你能举个例子说明你想要什么和得到什么吗?
-
与我使用方程式制作的圆圈相比。即使敌人不在绘制的圆圈中,该等式似乎也会检测到敌人。即使敌人没有碰到画的圆圈,它也会在控制台中打印“1”。
-
也许你在方程中有错误的数据。更好的
printx,y 两个元素并进行比较。为什么会得到.left + 10和.top + (35/2)?
标签: python pygame range geometry