Image动画

佐手、 提交于 2019-12-03 20:11:54

前几课讲的静态Image挺有趣的,但是如果能有动画的效果,那就更有趣了,mPython做出动画效果也不难。用images的列表,list。

下面就是一个列表:

eggs
bacon
tomatoes

Python中这样写:

shopping = ["Eggs","Bacon","Tomatoes"]

 

叫shopping的这个列表,有三件物品,方括号括起来是列表,多个物品用逗号分隔,这个例子中,是双引号引起来的三个字符串,其实列表中可以包括任何东西,比如数字

primes = [2,3,5,7,11,13,17,19]

记住数字不要加引号,2与"2"是不同的。你不太理解也没有关系,习惯了就好了。

一个列表中,存有各种数据类型也是可以的。

mixed_up_list = ["hello",1.234,Image.HAPPY]

注意到了么?开心图案也可以放在列表中。我们可以动画显示图案列表,有几个内置的图案列表,Image.ALL_CLOCKS和Image.ALL_ARROWS

from microbit import *

display.show(Image.ALL_CLOCKS, loop=True, delay=100)
from microbit import *

display.show(Image.ALL_ARROWS, loop=True, delay=100)

无限循环显示上述列表中的图案,间隔延时100毫秒。循环默认设置是loop = False

由此,我们可以做出一个帆船下沉的列表:

from microbit import *

boat1 = Image("05050:"
              "05050:"
              "05050:"
              "99999:"
              "09990")

boat2 = Image("00000:"
              "05050:"
              "05050:"
              "05050:"
              "99999")

boat3 = Image("00000:"
              "00000:"
              "05050:"
              "05050:"
              "05050")

boat4 = Image("00000:"
              "00000:"
              "00000:"
              "05050:"
              "05050")

boat5 = Image("00000:"
              "00000:"
              "00000:"
              "00000:"
              "05050")

boat6 = Image("00000:"
              "00000:"
              "00000:"
              "00000:"
              "00000")

all_boats = [boat1, boat2, boat3, boat4, boat5, boat6]
display.show(all_boats, delay=200)

首先建了6个图案,并把这6个图案放到一个列表all_boats中,最后display.show动画循环显示,间隔200毫秒。我们没有设置无限循环loop = True。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!