1. 程式人生 > >python->turtle->基礎操作

python->turtle->基礎操作

# 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的整數從110逐漸加快,或者速度字串 '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()