震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!

很早之前我就撰写了一系列利用python turtle来模仿生成scratch动画效率的例子,系列文章标题为从scratch到Python,今天有一款直接可以用Python操作scratch的软件出现了,通过这个软件可以像拖代码块一样用Python对scratch编程.
Python如今得到了中小学编程教育的任何,山东省启用了青岛出版社出版的信息技术教材,有滨州,枣庄,临沂等,其中第五册上就有Python的内容,如何更有趣的教成为了可以探讨的主题;同时舟山吕老师在学校开展了micro:bit教学,在学生掌握了图形化以后,Python将会成为接下来学习的主题;而Python已经进入了浙江信息技术教材.
这款软件为开展Python教学提供了一个有趣的教学工具.
本文电脑阅读效果更佳.

转载请注明出处
作者:郎丶
Email:[email protected]

KittenBlock初体验

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第1张图片

可以看到我利用python实现了让小猫说hello world,代码如下

from scratch3 import *

looks.say('hello world',1)

很简单有没有

软件安装

首先下载KittenBlock,安装之后启动软件.

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第2张图片

然后点击Python就可以愉快的编程了

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第3张图片

默认代码是让小猫叫起来,毕竟秋天来了嘛,很简单有没有.

from scratch3 import *

looks.say('hello world',1)

不过可能会不执行,毕竟是开风气之先的软件嘛,

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第4张图片

如果出现的是这个提示, Error:python.exe: can't open file 'C:\Program': [Errno 2] No such file or directory没有关系,由解决的办法.

原理

其实你只要用任意编辑器写一个Python文件,然后执行就可以了,不一定非得用这里的编辑器的.
当然你也可以用交互式命令行

  • 打开KittenBot安装目录C:\Program Files (x86)\Kittenblock\Python
  • 双击Python.exe
  • 在>>>后面输入代码
  • 回车执行
震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第5张图片

每输入一行就回车,就像图里那样,如果你有Python基础那最好了,你就可以体验scratch的魅力;如果你没有编程基础,不用担心,照葫芦画瓢就好了.

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第6张图片

任意编辑器都可以,sublime当然也是可以的,不过**你要确保Python可以找到scratch3这个类,你可以把 C:\Program Files (x86)\Kittenblock\Python加入到你的Python的查找路径.或者直接在这个目录里面写文件.

我会以命令行为例进行说明,我所有输入你也可以在KittenBlock输入

可用命令

 motion 运动部分
motion.move(10) #让精灵移动10步
motion.gotoXY(100, 100) #让精灵移动到坐标x100,y100
motion.turnLeft(90) # 让精灵左转90度
motion.turnRight(90) # 让精灵右转90度
motion.pointTo(180) # 让精灵指向180度
motion.glideXY(100,100,sec=5) # 在5s内让精灵滑行到100,100
motion.changeX(10) # 改变X坐标
motion.changeY(10) # 改变Y坐标
motion.setX(10) # 设置X坐标
motion.setY(10) # 设置Y坐标
motion.xPosition() # 返回X坐标
motion.yPosition() # 返回Y坐标
motion.direction() # 返回精灵朝向

# looks 外观部分
looks.say("hello world") #让精灵说话
looks.show() # 显示精灵
looks.hide() # 隐藏精灵
looks.switchCostume("custome1") # 改变精灵皮肤
looks.switchBackground("background") # 改变舞台背景
looks.nextCustome() # 切换到下一个皮肤
looks.nextBackground() # 切换到下一个背景
looks.changeEffect("color",10) # 改变精灵特效, 第一个参数是效果类型,第二个参数是改变的值
looks.setEffect("color",99) # 设置精灵特效, 参数如上
looks.clearEffect() # 清楚特效
looks.changeSize(5) # 改变精灵大小
looks.setSize(50) # 设置精灵大小

# looks 声音部分
sound.play("meow") # 播放声音,对应精灵所带的音效
sound.stopAll() # 停止所有声音
sound.playDrum(1,0.25) # 打鼓,第一个参数对应鼓的类型可以去对应图块查看,第二个参数是节拍长度
sound.rest(0.5) # 停止节拍
sound.playNote(60,0.5) # 播放音符,第二个参数是节拍长度
sound.setInstrument(2) # 设置乐器类型
sound.changeEffect(1,10) # 改变声音特效
sound.setEffect(1,10) # 设置声音特效
sound.clearEffect() # 清除所有声音特效
sound.changeVolume(10) # 改变音量
sound.setVolume(100) # 设置音量
sound.volume() # 读取音量
sound.changeTempo() # 改变节奏
sound.setTempo() # 设置节奏
sound.tempo() # 返回节奏

# pen 画笔部分
pen.clear() # 清除当前图像
pen.stamp() # 用当前精灵印章
pen.penDown() # 落下画笔
pen.penUp() # 抬起画笔
pen.setColor("#FF0000") # 设置画笔颜色
pen.changeColor(10) # 改变颜色HUE值
pen.setShade(10) # 设置画笔色度
pen.changeShade(10) # 改变画笔色度
pen.setSize(10) # 设置画笔大小
pen.changeSize(1) # 改变画笔大小

让小猫动起来

motion.move(10)

敲入这样的命令就会发现,小猫动起来了,跟我们之前学习的scratch是不是很相似呢?

旋转的小猫

下面我们让小猫转几圈

for x in range(1000):
   motion.turnLeft(1)

注意旋转完毕要恢复90°

注意到途中的:输入冒号之后,需要缩进的,四个空格,然后回车再回车执行代码,python的缩进也是语法规则的一种哟

绘制正方形

我们接下来用小猫绘制一个正方形把

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第7张图片

还可以

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第8张图片
from scratch3 import *
pen.clear()
pen.penDown()

for x in range(4):
    motion.move(100)
    motion.turnLeft(90)

播放声音

先来播放个音阶把

from scratch3 import *
import time

for x in range(36,98):
    sound.playNote(x,1)
    time.sleep(0.25)

执行下代码看看是什么效果

import time是导入时间相关函数
这里用到的time.sleep是等待0.25秒,你可以调整等待的时间
然后我们来改变下乐器

from scratch3 import *
import time

sound.setInstrument(9)
for x in range(36,98):
  sound.playNote(x,1)
  time.sleep(0.25)

反过来呢

from scratch3 import *
import time

sound.setInstrument(1)
for x in range(98,36,-1):
    sound.playNote(x,1)
    time.sleep(0.25)    

动画原理

震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!_第9张图片

我们知道只要快速切换图片就会产生动画效果

from scratch3 import *
import time

for x in range(100):
    looks.nextCustome()
    time.sleep(0.1)

time.sleep(1)类似于控制中的等待,意思是等待1秒.尝试改变sleep方法的值观察不同的动画效果

总结

KittenBlock推出的Python功能涵盖了常见的代码块,加上很多python代码功能比如数学运算啊,控制结构啊,变量和列表都是Python自带的,用这个工具结合舞台角色可以完成很多复杂的动画了.

肯定有人会说,这个跟logo有什么区别呢?区别似乎不大,但是相比于logo对于角色的控制大大加强.

我们相信这款软件一定会在不断的完善之中,越来越好.基本上scratch有的模块这里都会有对应,大家用scratch设计完,然后用Python实现就好了,不足之处在于目前对于事件还没有良好的支持,所以改进的空间很大,但是我们要给新生事物足够的信心.

你可能感兴趣的:(震惊!国内已知第一款Scratch 3.0编程软件KittenBlock推出Python编程功能!)