美文网首页arduino scratch创客教育科技教育
震惊!国内已知第一款Scratch 3.0编程软件KittenB

震惊!国内已知第一款Scratch 3.0编程软件KittenB

作者: 少儿创客 | 来源:发表于2017-09-09 18:14 被阅读1070次

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

    转载请注明出处
    作者:郎丶
    Email:964683112@qq.com

    KittenBlock初体验

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

    from scratch3 import *
    
    looks.say('hello world',1)
    

    很简单有没有

    软件安装

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


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


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

    from scratch3 import *
    
    looks.say('hello world',1)
    

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


    如果出现的是这个提示,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
    • 在>>>后面输入代码
    • 回车执行

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


    任意编辑器都可以,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的缩进也是语法规则的一种哟

    绘制正方形

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


    还可以

    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)    
    

    动画原理


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

    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编程软件KittenB

      本文链接:https://www.haomeiwen.com/subject/pphajxtx.html