要實現(xiàn)汽車跑動,首先我們要加載一張城市道路圖作為背景圖,然后就要把海龜?shù)膱D形變?yōu)槠嚨哪樱詈髮崿F(xiàn)兩輛汽車相向而行的效果。
首先,加載背景圖片:
turtle.bgpic(picname=None)
turtle.bgpic(picname=None)設(shè)置背景圖片或返回當(dāng)前背景圖片的名稱。如果picname 是文件名,則將相應(yīng)的圖像設(shè)置為背景。如果 picname 是 "nopic" ,則刪除背景圖像(如果存在)。如果 picname 是 None ,則返回當(dāng)前背景圖像的文件名。
這里我們加載同文件目錄下的背景圖片如下:
import turtle
turtle.bgpic("bg1.png") # 加載背景圖片
然后,添加汽車作為畫筆形狀:
turtle.register_shape(name)
turtle.register_shape()可以新增更多的畫筆shape,其用法之一就是添加gif圖片作為畫筆的新形狀。使用自己的圖片作為畫筆shape時需要注意,首先海龜僅支持gif圖片,另外這樣的畫筆shape無論怎樣設(shè)置resizemode均不能通過shapesize指令進(jìn)行筆頭大小設(shè)置。以圖片作為shape,筆頭的大小就是由圖片本身大小所決定的。當(dāng)然,turtle.register_shape()還可以添加用元組作為坐標(biāo)描述的多邊形作為畫筆的shape,這里我們并沒有用到,就不過多贅述了。
因為我們要實現(xiàn)兩輛汽車相向而行,所以要創(chuàng)建兩個turtle的實例,并加載不同形狀的汽車,如下:
turtle.register_shape('car1.gif') # 把小車圖片放入海龜可用形狀倉庫中,便于調(diào)用
car1 = turtle.Turtle() # 生成turtle,命名為car1
car1.shape('car1.gif')
turtle.register_shape('car2.gif')
car2 = turtle.Turtle()
car2.shape('car2.gif')
最后,就是和烏龜賽跑一樣,利用for循環(huán)實現(xiàn)汽車一起運行的效果:
car1.penup() # 抬筆,不要留下軌跡
car2.penup()
car1.goto(-300, -110)
car2.goto(300, -200)
car2.left(180)
#
car1.speed(2)
car2.speed(2)
#
for sp in range(1, 80):
car1.forward(sp)
car2.forward(sp)
#
turtle.done()
所以,所有總的代碼是:
import turtle
turtle.bgpic("bg1.png") # 加載背景圖片
turtle.register_shape('car1.gif') # 把小車圖片放入海龜可用形狀倉庫中,便于調(diào)用
car1 = turtle.Turtle() # 生成turtle,命名為car1
car1.shape('car1.gif')
turtle.register_shape('car2.gif')
car2 = turtle.Turtle()
car2.shape('car2.gif')
car1.penup() # 抬筆,不要留下軌跡
car2.penup()
car1.goto(-300, -110)
car2.goto(300, -200)
car2.left(180)
car1.speed(2)
car2.speed(2)
for sp in range(1, 80):
car1.forward(sp)
car2.forward(sp)
turtle.done()
實現(xiàn)的效果如下:

-
編碼
+關(guān)注
關(guān)注
6文章
1039瀏覽量
56980 -
循環(huán)
+關(guān)注
關(guān)注
0文章
92瀏覽量
16659 -
python
+關(guān)注
關(guān)注
57文章
4876瀏覽量
90045
發(fā)布評論請先 登錄
結(jié)合for循環(huán)實現(xiàn)兩輛汽車相向而行
評論