我正在用 Python 3.6.4 制作游戏。
当玩家触摸到红色圆圈时,玩家应该传送回起点。
问题 1:如果 turtle 碰到红色圆圈,如何将它移动到起点?
我的代码:
import turtle
wn = turtle.Screen()
wn.bgcolor("black")
player = turtle.Turtle()
player.color("white")
player.speed(0)
player.penup()
player.setposition(100, -110)
enemy = turtle.Turtle()
enemy.color("red")
enemy.shape("circle")
enemy.penup()
enemy.setposition(100, -100)
if player.pos(100, -100):
player.pos(100, -110)
我得到的错误是:
Traceback (most recent call last): File "C:\Users\ruffi\AppData\Local\Programs\Python\Python36-32\behg.p", line 18, in <module> if player.pos(100, -100): TypeError: pos() takes 1 positional argument but 3 were given
问题 2:如何修复此错误?
请您参考如下方法:
Turtle.pos() 返回 turtle 的位置;它不会测试出现在给定位置(如您的 if 行所尝试的那样)或设置它(如您的最后一行所尝试的那样) ).以前的工作由 Vec2D 执行比较,而后者是 Turtle.goto()。
另外,您的代码不包含用户输入的规定,因此无法对到达任何地方的玩家做出“ react ”;也许你已经知道了。
