Hej,
Próbuje zrobić grę typu pong w Python Turtle.
Chciałbym żeby gracze czyli te platformy poruszały się płynniej. Na razie skaczą o zadaną ilość pikseli w osi Oy. Nie wiem jednak jak zrobić by poruszali się płynnie o zadaną ilość pikseli w na tej osi.
Prosił bym o jakąś poradę, link, czy sugestie.
Oto kod który pisze:
class Sprite(turtle.Turtle):
def __init__(self, x, y, color, shape, width, height):
turtle.Turtle.__init__(self)
self.x = x
self.y = y
self.color = color
self.shape = shape
self.width = width
self.height = height
self.pen = turtle.Turtle()
def update(self):
self.pendown()
self.pen.goto(self.x, self.y)
self.pen.color(self.color)
self.pen.shape(self.shape)
self.pen.shapesize(self.width, self.height, None)
self.pen.penup()
class Player(Sprite):
def __init__(self, x, y, color, shape, width, height):
Sprite.__init__(self, x, y, color, shape, width, height)
self.move_up_flag = False
self.move_down_flag = False
def move_down_start(self):
self.move_down_flag = True
def move_up_start(self):
self.move_up_flag = True
def move_down(self):
self.y -= 1
def move_up(self):
self.y += 1
protector = Player(-500, 0, "green", "square", 5, 1)
agressor = Player(500, 0, "red", "square", 5, 1)
wn.listen()
wn.onkeypress(agressor.move_down_start, "Down")
wn.onkeypress(agressor.move_up_start, "Up")
wn.onkeypress(protector.move_down_start, "s")
wn.onkeypress(protector.move_up_start, "w")
while True:
wn.update()
protector.update()
agressor.update()
ball.update()
ball.move()
if agressor.move_down_flag:
for _ in range(100):
agressor.move_down()
agressor.move_down_flag = False
if protector.move_down_flag:
for _ in range(30):
protector.move_down()
Próbowałem coś zrobić z tym z flagami oraz z time.sleep() ale nie za bardzo działało.
Pozdrawiam i dzięki za pomoc.