rzyzzxw 发表于 2018-11-1 07:54:55

【掌控】mpython-19…方形变出的小花样

小斑马上次画了些道道。
今天换些花样。
画方形。


嘉年华上从人邮吴编辑那儿抢了一本书,还拿到了狄老师签名珍藏版书,哈哈,好开森。



上一周这块掌控变砖返厂检修,好吧我写的代码让掌控文件系统出了问题,不过也催生了mpython软件的新功能,一键恢复出厂模式(等待发布)。
手上没有掌控,也没有停止学习的脚步,正好用上吴编辑给的书,还有就是MOOC北理工嵩天教授的课,不学不知道,一学就有进步。



人生苦短,我学python.

【学前准备】
display.rect(x, y, w, h, c)用于绘制矩形外框。起始坐标为(x, y),宽度 w , 高度 h 的矩形外框。c 为颜色值。display.fill_rect(x, y, w, h, c)用于绘制填充颜色的矩形,方法与rect()相同。不同于rect()只绘制矩形外框。

【小目标】1、自由创作,从一个方形入手,使用实时运行功能及时调试。2、for循环的复习巩固。3、自定义函数和while循环。
【画个方】OLED屏的0,0点在左上角。起始坐标定的是左上角的点。
from mpython import *

display.fill(0)
display.rect(0, 0, 10, 10, 1)   #用于绘制矩形外框。起始坐标为(0, 0),宽度 10 , 高度 10 的矩形外框。1 为颜色值。
display.show()

【实心方形】
from mpython import *

display.fill(0)
display.fill_rect(0, 0, 10, 10, 1)   #用于绘制填充颜色的矩形。起始坐标为(x, y),宽度 w , 高度 h 的矩形。c 为颜色值。
display.show()

【动态矩形1】从0,0点出发,向右下角渐渐铺开。OLED屏是128 * 64像素点阵
from mpython import *

display.fill(0)
for i in range(1, 32):
    display.rect(0, 0, 4 * i, 2 * i, 1)   
    display.show()

【动态矩形2】
http://v.youku.com/v_show/id_XMzg5NjE4ODY2MA==.html?spm=a2h3j.8428770.3416059.1
from mpython import *

# 从左上角出发铺满
def Rect1():
    display.fill(0)
    for i in range(1, 32):
      display.rect(0, 0, 4 * i, 2 * i, 1)   
      display.show()
# 从右下角出发铺满
def Rect2():
    display.fill(0)   
    for i in range(1, 32):
      display.rect(128 - 4 * i, 64 - 2 * i, 4 * i, 2 * i, 1)
      display.show()

while True:
    Rect1()
    Rect2()

【动态矩形3】
由底部中心开始,向上铺满全屏。
反过来来一次。
http://v.youku.com/v_show/id_XMzg5NjIwNzU5Mg==.html?spm=a2h3j.8428770.3416059.1

from mpython import *

#从底部中心向上铺满矩形
def Rect1():
    display.fill(0)
    for i in range(32, 1, -1):
      display.rect(2*i, 2*i, (128 - 4*i) - 1, (64 - 2*i) -1, 1)
      display.show()

#动作反过来运行
def Rect2():
    display.fill(0)   
    for i in range(1, 32):
      display.rect(2*i, 2*i, (128-4*i)-1, (64-2*i)-1, 1)
      display.show()
   
while True:
    Rect1()
    Rect2()
【中心出发的动态矩形】

from mpython import *

#从中心点出发的矩形,铺满全屏   
display.fill(0)   
for i in range(1, 32):
    display.rect(64 - 2*i, 32 - i, 1 + 4*i, 2*i, 1)
    display.show()
#反过来运行一下
display.fill(0)   
for i in range(32, 0, -1):
    display.rect(64 - 2*i, 32 - i, 1 + 4*i, 2*i, 1)
    display.show()

【拓展练习】更多效果自己来造。加上按钮玩如何。再加上灯光,音效呢。
多种效果组合呢。
大圣老师的砖就抛到这里,更多好玩的,自己来玩吧。
走起。{:5_128:}
页: [1]
查看完整版本: 【掌控】mpython-19…方形变出的小花样