簡體   English   中英

Turtle() 只聽一次 onkeypress,不重復按鍵

[英]Turtle() only listening to onkeypress one time, not repeating keys

所以我在做蛇,每當我打電話給我的按鍵時,它就可以正常工作一次。 我可以 go 向上一次,向下一次,左右一次。 但是如果我想再次使用這個鍵改變方向我不能,有人知道為什么嗎? 這是我的代碼(也是 mainloop 導致我的烏龜不顯示):

from turtle import *
from turtle import Screen
from snake import Snake
import random 
import time 

screen = Screen() ## the window that shows up

screen.setup(800,800) ## height and width to 800
screen.bgcolor("black") ## black GUI
screen.title("G5's Snake Game") ## name our game 
screen.tracer(0) ## eliminates delay from snake, molds it all into one picture

snake = Snake()

screen.onkeypress(snake.up, "Up")
screen.onkeypress(snake.down, "Down")
screen.onkeypress(snake.left, "Left")
screen.onkeypress(snake.right, "Right")
screen.listen()
screen.listen()


gameon = True 

while gameon: ## make this snake.move() method !    
    screen.update()
    time.sleep(0.1)
    snake.move()




screen.exitonclick()

screen.onkeypress(snake.up, "Up")
screen.onkeypress(snake.down, "Down")
screen.onkeypress(snake.left, "Left")
screen.onkeypress(snake.right, "Right")
screen.listen()
screen.listen()

上面的塊需要移動到一個while循環中。 現在,它會檢查用戶是否按下過某個鍵。 如果他們這樣做,它將向下移動到 while 循環。

while gameon:
    screen.onkeypress(snake.up, "Up")
    screen.onkeypress(snake.down, "Down")
    screen.onkeypress(snake.left, "Left")
    screen.onkeypress(snake.right, "Right")
    screen.listen()
    screen.listen()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM