Привязка событий нажатия клавиш с использованием TurtlePython

Программы на Python
Ответить
Anonymous
 Привязка событий нажатия клавиш с использованием Turtle

Сообщение Anonymous »

Я новичок в Python и пытаюсь изучить множество различных проектов. Я хочу использовать Turtle для создания игры и нашел на YouTube этого парня, который воссоздает Space Invaders.

Я использую IDLE и Python 3. Экран и проигрыватель создаются, но при нажатии клавиши ничего не происходит. Я изучил эту проблему и попробовал несколько вещей, но не уверен, что делаю неправильно.

Другая необычная вещь заключается в том, что каждая функция запускается один раз. Чтобы это выяснить, я включил оператор печати в каждую функцию. Почему каждое нажатие клавиши выполняется один раз, но не привязывается к моей реальной клавиатуре?

import turtle

#Screen setup
screen = turtle.Screen()
screen.bgcolor('black')
screen.title("Space Invaders")

#Create player
player = turtle.Turtle()
player.color('blue')
player.shape('triangle')
player.penup()
player.speed(0)
player.setposition(0, -250)
player.setheading(90)

playerspeed = 15

#Move the player left and right
def move_left():
x = player.xcor()
x -= playerspeed
player.setx(x)
screen.listen()
print("Move left.") #for debugging

def move_right():
x = player.xcor()
x += playerspeed
player.setx(x)
screen.listen()
print("Move right.") #for debugging

#Create keyboard binding
screen.onkey(move_left(), 'Left')
screen.onkey(move_right(), 'Right')
screen.listen()

#Play game
screen.mainloop()


Подробнее здесь: https://stackoverflow.com/questions/549 ... ing-turtle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»