python turtle resizemode 解释

麦叔 1年前 ⋅ 453 阅读

python turtle resizemode 解释

根据官方文档的解释:

turtle.``resizemode(rmode=None)

  • 参数

    rmode -- 字符串 "auto", "user", "noresize" 其中之一

设置大小调整模式为以下值之一: "auto", "user", "noresize"。如未指定 rmode 则返回当前的大小调整模式。不同的大小调整模式的效果如下:

  • "auto": 根据画笔粗细值调整海龟的外观。
  • "user": 根据拉伸因子和轮廓宽度 (outline) 值调整海龟的外观,两者是由 shapesize() 设置的。
  • "noresize": 不调整海龟的外观大小。

大小调整模式 ("user") 会在 shapesize() 带参数调用时生效。

>>> turtle.resizemode()
'noresize'
>>> turtle.resizemode("auto")
>>> turtle.resizemode()
'auto'

我们来看几个例子:

1. noresize

import turtle as t

p1 = t.Turtle()
p1.pensize(10)
print(f'p1: {p1.resizemode()}')

t.mainloop()

resizemode默认是noresize`:turtle不会自己调整大小

2. auto

import turtle as t

p2 = t.Turtle()
p2.resizemode('auto') #只有设置了auto,turtle大小才会根据pensize变化  
p2.pensize(10)
p2.goto(-100, -100)
print(f'p2: {p2.resizemode()}')

t.mainloop()

resizemode设置为auto后,如果我们再修改pensize的值,turtle的大小也会同时发生变化。

上图是加了‘auto’的,下图是没加‘auto’的

turtle_auto

3. user

import turtle as t

p3 = t.Turtle()
p3.shapesize(10,10,3) #一旦设置了shapesize,resizemode会自动改为user
p3.goto(100, 100)
print(f'p3: {p3.resizemode()}')

t.mainloop()

一旦设置了shapesizeresizemode会自动设置为user,turtle会根据shapesize的参数调整大小。

上图是加了‘shapesize’的,下图是没加‘shapesize’的

turtle_user

完整代码

import turtle as t
#resizemode的示例
#1. 默认是noresize,不会随着画笔的变化而变化
p1 = t.Turtle()
p1.pensize(10)
print(f'p1: {p1.resizemode()}')

#2. auto会根据画笔的粗细有所调整
p2 = t.Turtle()
p2.resizemode('auto') #只有设置了auto,turtle大小才会根据pensize变化
p2.pensize(10)
p2.goto(-100, -100)
print(f'p2: {p2.resizemode()}')

#3. user是指用户自己通过shapesize()自己设置
p3 = t.Turtle()
p3.shapesize(10,10,3) #一旦设置了shapesize,resizemode会自动改为user
p3.goto(100, 100)
print(f'p3: {p3.resizemode()}')

全部评论: 0

    我有话说: