2018-11-1 07:54:55 [显示全部楼层]
3354浏览
查看: 3354|回复: 0

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

[复制链接]
小斑马上次画了些道道。
今天换些花样。
画方形。
【掌控】mpython-19…方形变出的小花样图4

嘉年华上从人邮吴编辑那儿抢了一本书,还拿到了狄老师签名珍藏版书,哈哈,好开森。
【掌控】mpython-19…方形变出的小花样图1【掌控】mpython-19…方形变出的小花样图2


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


人生苦短,我学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点在左上角。
起始坐标定的是左上角的点。
【掌控】mpython-19…方形变出的小花样图5
[mw_shl_code=python,true]from mpython import *

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


【实心方形】
【掌控】mpython-19…方形变出的小花样图6
[mw_shl_code=python,true]from mpython import *

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


【动态矩形1】
从0,0点出发,向右下角渐渐铺开。
OLED屏是128 * 64像素点阵
【掌控】mpython-19…方形变出的小花样图7
[mw_shl_code=python,true]from mpython import *

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


【动态矩形2】

[mw_shl_code=python,true]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()[/mw_shl_code]

【动态矩形3】
由底部中心开始,向上铺满全屏。
反过来来一次。


[mw_shl_code=python,true]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()[/mw_shl_code]
【中心出发的动态矩形】
【掌控】mpython-19…方形变出的小花样图8
[mw_shl_code=python,true]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()[/mw_shl_code]

【拓展练习】
更多效果自己来造。
加上按钮玩如何。
再加上灯光,音效呢。

多种效果组合呢。

大圣老师的砖就抛到这里,更多好玩的,自己来玩吧。

走起。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail