Python Turtle像素位置输出是指哪个部分?
嘿,如果要复制游戏注释,这是代码,它还不完整。我有一个关于python Turtle“ yourtext.ycor()或yourtext.xcor()”的命令的简短问题。因此,我知道此命令将返回坐标位置,但是我相信它会返回中心位置,但我不确定(也许最左边或最右边的边缘?(我指的是此示例中的右桨) 。
>
#Simple Pong in Python 3 for Beginners
# By @TokyoEdTech
# Part 1: Getting Started
import turtle
import os
wn = turtle.Screen()
wn.title("Pong")
wn.bgcolor("orange")
wn.setup(width=800, height=600)
wn.tracer(0)
#Paddle A
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape("square")
paddle_a.color("black")
paddle_a.shapesize(stretch_wid=5, stretch_len=1)
paddle_a.penup()
paddle_a.goto(-350,0)
#Paddle B
paddle_b = turtle.Turtle()
paddle_b.speed(0)
paddle_b.shape("square")
paddle_b.color("black")
paddle_b.shapesize(stretch_wid=5, stretch_len=1) #This means 100 Tall and 20 Wide so 1=20pix and so 5*20=100pix
paddle_b.penup()
paddle_b.goto(350,0)
#Ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape("square")
ball.color("black")
ball.penup()
ball.goto(0,0)
ball.dx = .2
ball.dy = .2
#Function
def paddle_a_up():
y=paddle_a.ycor()
y += 20
paddle_a.sety(y)
def paddle_a_down():
y=paddle_a.ycor()
y -= 20
paddle_a.sety(y)
def paddle_b_up():
y=paddle_b.ycor()
y += 20
paddle_b.sety(y)
def paddle_b_down():
y=paddle_b.ycor()
y -= 20
paddle_b.sety(y)
# Keyboard binding
wn.listen()
wn.onkeypress(paddle_a_up,"w")
wn.onkeypress(paddle_a_down,"s")
wn.onkeypress(paddle_b_up,"Up")
wn.onkeypress(paddle_b_down,"Down")
#Main game Loop
while True:
wn.update()
#Move the Ball
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
#BorderChecking
if ball.ycor() > 290:
ball.sety(290)
ball.dy *= -1
if ball.ycor() < -290:
ball.sety(-290)
ball.dy *= -1
if ball.xcor() > 390:
ball.goto(0,0)
ball.dx*=-1
if ball.xcor() < -390:
ball.goto(0,0)
ball.dx *= -1
#Paddle and Ball Collisions
if (ball.xcor() > 340 and ball.xcor() < 350) and (ball.ycor() < paddle_b.ycor() + 40 and ball.ycor() > paddle_b.ycor() -40):
ball.setx(340)
ball.dx *=-1
强的文本
Hey all here is the code if you want to reproduce the game note it's not complete. I have a brief question regarding the command in python turtle "yourtext.ycor() or yourtext.xcor()". So, I know that this command will return a coordinate position however I believe that it will return the center position, but I am not sure (maybe the leftmost edge or the rightmost edge? (I am referring to the right paddle in this example). So, in essence what does the returned number refer to in terms of pixel position.
#Simple Pong in Python 3 for Beginners
# By @TokyoEdTech
# Part 1: Getting Started
import turtle
import os
wn = turtle.Screen()
wn.title("Pong")
wn.bgcolor("orange")
wn.setup(width=800, height=600)
wn.tracer(0)
#Paddle A
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape("square")
paddle_a.color("black")
paddle_a.shapesize(stretch_wid=5, stretch_len=1)
paddle_a.penup()
paddle_a.goto(-350,0)
#Paddle B
paddle_b = turtle.Turtle()
paddle_b.speed(0)
paddle_b.shape("square")
paddle_b.color("black")
paddle_b.shapesize(stretch_wid=5, stretch_len=1) #This means 100 Tall and 20 Wide so 1=20pix and so 5*20=100pix
paddle_b.penup()
paddle_b.goto(350,0)
#Ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape("square")
ball.color("black")
ball.penup()
ball.goto(0,0)
ball.dx = .2
ball.dy = .2
#Function
def paddle_a_up():
y=paddle_a.ycor()
y += 20
paddle_a.sety(y)
def paddle_a_down():
y=paddle_a.ycor()
y -= 20
paddle_a.sety(y)
def paddle_b_up():
y=paddle_b.ycor()
y += 20
paddle_b.sety(y)
def paddle_b_down():
y=paddle_b.ycor()
y -= 20
paddle_b.sety(y)
# Keyboard binding
wn.listen()
wn.onkeypress(paddle_a_up,"w")
wn.onkeypress(paddle_a_down,"s")
wn.onkeypress(paddle_b_up,"Up")
wn.onkeypress(paddle_b_down,"Down")
#Main game Loop
while True:
wn.update()
#Move the Ball
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
#BorderChecking
if ball.ycor() > 290:
ball.sety(290)
ball.dy *= -1
if ball.ycor() < -290:
ball.sety(-290)
ball.dy *= -1
if ball.xcor() > 390:
ball.goto(0,0)
ball.dx*=-1
if ball.xcor() < -390:
ball.goto(0,0)
ball.dx *= -1
#Paddle and Ball Collisions
if (ball.xcor() > 340 and ball.xcor() < 350) and (ball.ycor() < paddle_b.ycor() + 40 and ball.ycor() > paddle_b.ycor() -40):
ball.setx(340)
ball.dx *=-1
strong text
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我同意@jasonharper关于自定义形状(+1)的观点,但就内置形状而言,我认为这是对乌龟本身最好提出的问题:
答案是内置的 -形状在热点的位置方面有所不同。至于您的桨,基于
'Square'
,热点是中心。I agree with @jasonharper with respect to custom shapes (+1) but with respect to built-in shapes, I think this is a question best posed to turtle itself:
The answer is that the built-in shapes vary with respect to the location of the hot spot. As far as your paddles, which are based on
'square'
, the hot spot is the center.