5294| 0
|
【掌控】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点在左上角。 起始坐标定的是左上角的点。 ![]() [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] 【实心方形】 ![]() [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像素点阵 ![]() [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] 【中心出发的动态矩形】 ![]() [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] 【拓展练习】 更多效果自己来造。 加上按钮玩如何。 再加上灯光,音效呢。 多种效果组合呢。 大圣老师的砖就抛到这里,更多好玩的,自己来玩吧。 走起。 ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed