最近整理房間,居然翻到了一個《迪迦奧特曼》的光盤,對着這個光盤,把玩了一段時間,腦子裏面突然有了一絲奇怪的想法!!
效果圖:
第一次搞動態圖,這個好像只能播放三次來着,待會卡住不動的話就刷新一下吧!
代碼講解:
這個代碼關鍵的部分如何讓這個圖像動起來,我們首先想到的是循環,對,多次循環然後改變偏移角度,繼續繪製,就能達到這個效果,我先放一張角度固定的圖:
然後不斷循環,不斷的重疊繪製這四個正方形,那我們只要改變每次畫筆轉動的角度,那麼就會達到這個效果,具體解析我在代碼裏面註釋:
全部代碼:
import turtle as a
import time
def ring(step_, axis_): # 圓環 最外面的大圓環
for i in range(600):
t.color(color_list[i % 4], color_list[i % 4])
t.begin_fill()
t.left(axis_)
t.fd(step_)
t.right(axis_)
t.fd(step_)
t.right(axis_)
t.fd(step_)
t.end_fill()
if i % 4 == 0:
time.sleep(0.02) # 停頓一點點
def center_draw(rad, color): # 中心繪製
t.color('black', color)
t.begin_fill()
t.circle(rad)
t.end_fill()
def text_draw():
string = ('用繪圖思想做一個動態播放器圖片\n'
' You have to be happy every day!')
t.write(string, align='center', font=('華文行楷', 20))
if __name__ == '__main__':
t = a.Turtle()
w = a.Screen()
w.screensize(bg='Tan')
t.getscreen().tracer(3, 0)
t.hideturtle()
color_list = ['#006e54', '#895b8a', '#bf242a', '#38b48b']
step = 90 # 正方形的邊長
axis = 91 # 這個就是每次改變的度數,90 則 重疊繪製,91就能達到效果
t.penup()
t.goto(0, -45)
t.pendown()
center_draw(90 / 2, 'black') # 調用繪製中心大圓
t.penup()
t.goto(0, -18)
t.pendown()
center_draw(90 / 5, 'pink') # 調用繪製中心小圓
t.penup()
t.goto(0, -250)
t.pendown()
text_draw()
t.penup()
t.goto(-45, 45)
t.pendown()
ring(step, axis) # 調用繪製外圍
w.exitonclick()
播放音樂:
這個turtle還真做不了,溜了溜了。
關於這個pycharm的背景設置可以看看這個博客:美化