python->turtle->基礎操作
阿新 • • 發佈:2019-01-07
# turtlefuction.py
# 這是一篇功能文件,用.py是為了加亮
# turtle畫圖軟體包的使用
turtle 移動命令
forward(distance)|fd(distance)
向前移動(距離)
back(distance)|bk(distance)|backward(disatance)
向後移動(距離)
注:檢視當前位置用position()|pos(),(0,0)位置預設為畫布中間
right(angle)|rt(angle)
向右轉動(角度)
left(angle)|lt(angle)
向左轉動(角度)
注:檢視當前角度用heading,角度單位默然為度,可用degree()|radians()改為弧度
goto(x,y=None)|setpos(x,y=None)|setposition(x,y=None)
注:x是數字或者一對數字(一對向量),y是數字或空(當是一對數字)
setx(x)
設定x座標,y座標不變
sety(y)
設定y座標,x座標不變
setheading(to_angle)|seth(to_heading)
設定初始角度
home()
回到原點(0 ,0),角度為0
turtle 繪圖命令
circle(radius,extent=None,steps=None)
畫圓(半徑,範圍,步進)
注:為正數,沿著畫筆方向逆時針畫,反之,順時針
範圍表示圓的角度範圍,預設為360度
步進表示畫圓的多邊形邊數,預設是自動計算足夠的邊使得更圓
dot(size=None,*color)
畫一個圓點(直徑大小=預設,顏色名字或三原色元組)
注:當大小沒有給定的時候size=pensize+4和pensize*2
stamp_id=stamp()
在當前位置打上一個標記,返回一個數字,用於清除標記
clearstamp(stamp_id)
清除標記
clearstamps(n=None)
n=None 清除 所有標記
n>0 清除前n標記
n<0 清除後n標記
undo()
撤銷上次操作
turtle繪圖速度
speed(speed=None)
畫筆畫圖的速度設定
speed=0 -10的整數從1到10逐漸加快,或者速度字串
'fastest':0
'fast':10
'normal':6
'slow':3
'slowest':1
speed=None時,返回當前速度
返回turtle的 狀態
turtle位置座標
position()|pos()
返回當前位置(x,y)座標
toward(x,y=None)
返回(x,y)原點的直線向量角度(與mode()設定有關)
xcur()
返回當前的x座標
ycur()
返回當前的y座標
heading()
返回畫筆的朝向角度(與mode()設定有關)
discance(x,y=None)
返回(x,y)與原點的距離
turtle單位設定
degrees(fullcircle=360)
預設是一個整圓是360度
當我們改變一個整圓的度數 ,我們的角度單位將會改變
degrees(400)
-->百分角度
degrees(360/180*math.pi)
-->弧度制(pi為圓周率)
radians()
將單位設定為弧度制
turtle畫筆設定
pendown()|pd()|down()
放下,畫筆移動時將繪畫
penup()|pu()|up()
提起,畫筆移動時不會繪畫
pensize(width=None)|width(width=None)
畫筆的寬度,width 為數值
widthwidth=None時,返回當前寬度
pen(pen=None,**pendic)
返回或設定畫筆
**pendic 可是是以下
'shown':Ture or False
'pendown':Ture or False
'pencolor':color string or color tuple
'fillcolor':color string or color tuple
'pensize':positive number
'speed':0-10
'resizemode':'auto','user','noresize'
'stretchfator':(positive number,positive number)
'outline':positive number
'tilt':number
isdown()
如果畫筆放下則返回Ture否則False
pencolor(*arg)
設定畫筆顏色,無引數時返回當前顏色返回的值跟colormode()有關
引數為顏色字串('red','black','#33cc8c')和三原色的 元組(r,g,b)
fillcolor(*arg)
設定填充顏色,其他同上
color(*arg)
設定畫筆顏色或者填充顏色
turtle填充
fill(Ture/False)
填充圖形
fill(Ture)
畫圖語句
fill(False)
begin_fill()-->fill(True)
end_fill()-->fill(False)
更多畫圖控制
reset()
重置畫布,並且其狀態恢復到初始
clear()
清除畫布
write(arg,move=False,align='left',font=('Arial',8,'normal'))
arg-->寫的內容
move=True/False
align='center''left''right' (align -- 譯:對齊)
font
-->字型設定
turtle圖示狀態
hideturtle()|ht()
隱藏圖示
showturtle()|st()
顯示圖示
isvisible()
判斷圖示是否顯示,返回Ture/False
shape(name=none)
設定圖示形狀(arrow,turtle,circle,square,triangle,classic)更多看register_shape()
resizemode(rmode=None)
設定調整大小的方式(auto,user ,noresize)
shapesize(stretch_width=None,stretch_len=None,outline)
stretch
-->拉伸
outline
--輪廓的模糊度(正數)
tilt(angle)
tilt --傾斜,繞當前角度旋轉不會改變移動的方向
settiltangle(angle)
繞點旋轉不會改變移動的方向
turtle使用者事件
onclick(fun,btn=1,add=None)
fun
-->接受2個引數的函式(x,y)
btn
-->滑鼠點選次數
add
-->True/False,True 將新增一個新的binding
格式:-->onclick(fun=(15,30),btn = 1, add = False)
作用:不知道
滑鼠點選後觸發fun
onclick(None),停止觸發
onrelease(fun,btn=1,add=None)
滑鼠鬆開後觸發fun
onrelease(None),停止觸發
ondrag(fun,btn=1,add=None)
拖動時觸發
mainloop()
開始新的迴圈
done()
停止迴圈
begin_poly()
畫圖
end_poly()
get_poly()
-->得到圖形
clone()
得到turtle的克隆體
getturtle()|getpen()
返回turtle物件
getscreen()
返回TurtleScreen物件
setundobuffer(size)
設定恢復次數
undobufferentries()
可恢復的次數
將圖形註冊到shape中
s=Shape('compound')
poly1=((0,0),(10,-5),(0,10),(-10,-5))
s.addcomponent(poly1,'red','blue')
poly2=((0,0),(10,-5),(-10,-5))
s.addcomponent(poly1,'blue','red')
register_shape("myshape",s)
turtle視窗控制
bgcolor(*arg)
設定螢幕顏色
bgpic(picname=none)
設定背景圖片
clear()|clearscreen()
清除螢幕
reset()|reserscreen()
重設
screensize(canvwidth=None,canvheight=None,bg=None)
bg-->背景顏色
setwordcoordionates(llx,lly,urx,ury)
llx左下角x座標
lly左下角y座標
urx右上角x座標
ury右上角x座標
turtle動畫控制
delay(delay=None)
設定繪畫延遲
tracer(n=None,delay=None)
設定動畫開關和延遲
update()
更新螢幕
turtle螢幕事件
listen(xdummy=None,ydummy=None)
onkey(fun,key)
onclick()|onscreenclick()
ontimer(fun,t=0)
每隔時間執行
turtle其它
mode(mode=None)
standard
logo
colormode(cmode=None)
1|255
getcanvas()
geshapes()
register_shape()
addshape()
window_height()
window_width()
bye()
exitonclick()
setup()
title()
RawTutle(canvas)
RawPen(canvas)
Turtle()
Turtlescreen()
Screen()
Scrolledcanvas(master)
Shape()
addcompent(poly,fill,ounline=None)
Vec2D()