2016-04-14 74 views
1

單刀直入,是可以按住一個鍵在蟒蛇的烏龜和執行一段代碼,例如:Hold鍵 - Python的龜

當空間保持3秒 - 空間()

下面的代碼如果需要的話:

import time 
import sys 
import turtle 

width = 800 
height = 600 

turtle.screensize(width, height) 
turtle.title('Youtube') 
turtle.hideturtle() 
turtle.penup() 

def text(text, posx, posy, size): 
    turtle.pencolor('white') 
    turtle.goto(posx, posy) 
    turtle.write(text, font=("Arial", size, "normal")) 

##ScreenRender 
turtle.bgpic("background.gif") 
turtle.hideturtle 
#Text 
text('Record A Video', -400, 225, 20) 
text('Hold Space...', -345, 200, 15) 

##End 
turtle.done() 
+0

請參閱http://stackoverflow.com/questions/9961563/how-can-i-make-a-sprite-move-when-key-is-held-down。您可以使用http://www.pygame.org/docs/ref/key.html#pygame.key.get_pressed。 – charlierproctor

+0

我明確表示我需要'烏龜'不是pygame ... –

回答

1

是的,你可以結合使用turtle.listen()turtle.onkey*()程序之一。

下面的代碼如果需要的話:

import time 
import turtle 

WIDTH = 800 
HEIGHT = 600 

seconds = 0 

def text(text, posx, posy, size): 
    turtle.pencolor('black') 
    turtle.goto(posx, posy) 
    turtle.write(text, font=("Arial", size, "normal")) 

def press_space(): 
    global seconds 
    seconds = time.time() 
    turtle.onkeypress(None, ' ') 

def release_space(): 
    if time.time() - seconds >= 3.0: 
     turtle.onkeyrelease(None, ' ') 
     text("thank you.", -200, 200, 15) 

# ScreenRender 
turtle.screensize(WIDTH, HEIGHT) 
turtle.hideturtle() 
turtle.penup() 

# Text 
text('Hold Space for 3 seconds...', -400, 200, 15) 

# Event Handlers 
turtle.listen() 
turtle.onkeypress(press_space, ' ') 
turtle.onkeyrelease(release_space, ' ') 

# End 
turtle.done() 

保持時間可能並不簡單,按鍵有自己的重複頻率。