如何检测乌龟是否在x和y的半径内,然后执行某些操作?

时间:2018-12-02 15:12:27

标签: python python-3.x turtle-graphics

当前,我正在尝试制作一个游戏,并且在游戏中我希望它能使角色在对象上方时将其拾取。这是我到目前为止的内容:

import turtle
import time

default = turtle.clone()
scar = turtle.clone()

def pickupScar():
    if default.distance(-7,48) > 5.0:
        default.changeshape('defaultscar.gif')

wn = turtle.Screen()
wn.setup(500,500)
wn.bgpic('TrumpTowers.gif')
wn.register_shape('default.gif')
wn.register_shape('scar.gif')
wn.register_shape('defaultscar.gif')

turtle.hideturtle()
default.shape('default.gif')
scar.shape('scar.gif')

default.pu()
default.left(90)
default.bk(35)

scar.pu()
scar.left(90)
scar.fd(45)
scar.speed(-1)

default.ondrag(default.goto)

有人知道我将如何制作def PickScar吗,因为我是python&turtle的新手。如果您认识到我的游戏是关于什么的,请不要判断我,这是针对学校项目的,我想不出任何游戏创意。

2 个答案:

答案 0 :(得分:1)

由于我没有您的图片,也不了解您的游戏内容,因此以下是您描述的功能示例。屏幕上有一个黑色圆圈和粉红色正方形。您可以拖动圆,如果将其拖到正方形上,它将使头和腿发芽成为乌龟。拖出正方形,它恢复为圆形:

DatetimeIndex

答案 1 :(得分:0)

我不知道turtle-graphics,但是在现实世界中(对于2D曲面)确定两点之间的距离是使用勾股定理

如果某个对象位于(x1, y1),另一个位于(x2, y2),则距离为

dist=sqrt((x1-x2)^2 + (y1-y2)^2)

因此,如果dist <= R,乌龟(或其他)是in R radius from desired point