【问题标题】:Use onkey() to do multiple functions with Python turtle使用 onkey() 与 Python turtle 一起做多个功能
【发布时间】:2017-11-10 15:39:23
【问题描述】:

我正在尝试编写一个基本的海龟绘图游戏/程序,我一直在使用onkey(function, "key") 让用户输入击键。好吧,我希望用户能够通过按向上键将宽度增加一或向下键将宽度减小一来更改笔的宽度。我知道我需要某种循环,但我真的不知道在哪里实现它。

【问题讨论】:

  • 欢迎来到 StackOverflow!我建议添加您已经拥有的代码,并向我们展示您的错误/障碍在哪里。在以下内容中回答的问题:这是我的代码,这是我的问题,这是我尝试过的 - 更容易被接受。尝试编辑您的帖子以帮助我们,帮助您

标签: python keyboard turtle-graphics


【解决方案1】:

下面是一个简单的例子,当你按下向上和向下箭头来改变画笔宽度时,它会让乌龟在一个连续的圆圈中行走:

from turtle import Turtle, Screen

def larger():
    size = turtle.pensize()

    if size < 10:
        turtle.pensize(size + 1)

def smaller():
    size = turtle.pensize()

    if size > 1:
        turtle.pensize(size - 1)

def move():
    turtle.circle(150, extent=3)
    screen.ontimer(move, 100)

turtle = Turtle()

screen = Screen()
screen.onkey(larger, "Up")
screen.onkey(smaller, "Down")
screen.listen()

move()

screen.mainloop()

确保首先单击窗口以使其成为关键侦听器。

【讨论】:

    【解决方案2】:

    我认为你不能,但你可以在绑定到键的函数中调用该函数:

    from turtle import *
    
    def function1():
        do_that = "do that"
        print(do_that)
    
    def function2():
        do_this = "do this"
        print(do_this)
        function1()
    
    onkey(function2, "space")
    

    这样做

    这样做


    它对我有用;)

    【讨论】:

    • OP 的问题是关于如何使用向上或向下箭头键更改笔宽。这个答案忽略了这一点,并回答了一些没有被问到的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2015-12-12
    相关资源
    最近更新 更多