python大鱼吃小鱼的碰撞函数,radius属性设置
时间: 2024-05-09 12:15:53 浏览: 90
假设我们有两个鱼,分别是大鱼和小鱼,它们的位置分别为 `big_fish_pos` 和 `small_fish_pos`,半径分别为 `big_fish_radius` 和 `small_fish_radius`。
判断它们是否碰撞,可以使用以下的碰撞检测函数:
```python
def check_collision(big_fish_pos, big_fish_radius, small_fish_pos, small_fish_radius):
distance = ((big_fish_pos[0] - small_fish_pos[0])**2 + (big_fish_pos[1] - small_fish_pos[1])**2)**0.5
return distance < big_fish_radius + small_fish_radius
```
其中,`distance` 表示两个鱼之间的距离,如果这个距离小于两个鱼的半径之和,那么就说明它们相碰了,返回 `True`,否则返回 `False`。
在这个函数中,我们使用了两个鱼的位置和半径来计算它们之间的距离。需要注意的是,这里的位置是一个二元组 `(x, y)`,表示在平面直角坐标系中的横纵坐标。
另外,如果你想让鱼变得更圆润,可以将鱼的形状设为一个圆形,然后将半径设为圆形的半径。在这种情况下,碰撞检测函数也可以简化为:
```python
def check_collision(big_fish_pos, big_fish_radius, small_fish_pos, small_fish_radius):
distance = ((big_fish_pos[0] - small_fish_pos[0])**2 + (big_fish_pos[1] - small_fish_pos[1])**2)**0.5
return distance < big_fish_radius + small_fish_radius
```
这样,我们就完成了一个简单的碰撞检测函数,可以用来检测两个鱼是否相碰。
阅读全文