震驚!國內(nèi)已知第一款Scratch 3.0編程軟件KittenBlock推出Python編程功能!

很早之前我就撰寫了一系列利用python turtle來模仿生成scratch動畫效率的例子,系列文章標題為從scratch到Python,今天有一款直接可以用Python操作scratch的軟件出現(xiàn)了,通過這個軟件可以像拖代碼塊一樣用Python對scratch編程.
Python如今得到了中小學(xué)編程教育的任何,山東省啟用了青島出版社出版的信息技術(shù)教材,有濱州,棗莊,臨沂等,其中第五冊上就有Python的內(nèi)容,如何更有趣的教成為了可以探討的主題;同時舟山呂老師在學(xué)校開展了micro:bit教學(xué),在學(xué)生掌握了圖形化以后,Python將會成為接下來學(xué)習(xí)的主題;而Python已經(jīng)進入了浙江信息技術(shù)教材.
這款軟件為開展Python教學(xué)提供了一個有趣的教學(xué)工具.
本文電腦閱讀效果更佳.

轉(zhuǎn)載請注明出處
作者:郎丶
Email:964683112@qq.com

KittenBlock初體驗

可以看到我利用python實現(xiàn)了讓小貓說hello world,代碼如下

from scratch3 import *

looks.say('hello world',1)

很簡單有沒有

軟件安裝

首先下載KittenBlock,安裝之后啟動軟件.


然后點擊Python就可以愉快的編程了


默認代碼是讓小貓叫起來,畢竟秋天來了嘛,很簡單有沒有.

from scratch3 import *

looks.say('hello world',1)

不過可能會不執(zhí)行,畢竟是開風(fēng)氣之先的軟件嘛,


如果出現(xiàn)的是這個提示,Error:python.exe: can't open file 'C:\Program': [Errno 2] No such file or directory沒有關(guān)系,由解決的辦法.

原理

其實你只要用任意編輯器寫一個Python文件,然后執(zhí)行就可以了,不一定非得用這里的編輯器的.
當(dāng)然你也可以用交互式命令行

  • 打開KittenBot安裝目錄C:\Program Files (x86)\Kittenblock\Python
  • 雙擊Python.exe
  • 在>>>后面輸入代碼
  • 回車執(zhí)行

每輸入一行就回車,就像圖里那樣,如果你有Python基礎(chǔ)那最好了,你就可以體驗scratch的魅力;如果你沒有編程基礎(chǔ),不用擔(dān)心,照葫蘆畫瓢就好了.


任意編輯器都可以,sublime當(dāng)然也是可以的,不過**你要確保Python可以找到scratch3這個類,你可以把C:\Program Files (x86)\Kittenblock\Python加入到你的Python的查找路徑.或者直接在這個目錄里面寫文件.

我會以命令行為例進行說明,我所有輸入你也可以在KittenBlock輸入

可用命令

 motion 運動部分
motion.move(10) #讓精靈移動10步
motion.gotoXY(100, 100) #讓精靈移動到坐標x100,y100
motion.turnLeft(90) # 讓精靈左轉(zhuǎn)90度
motion.turnRight(90) # 讓精靈右轉(zhuǎn)90度
motion.pointTo(180) # 讓精靈指向180度
motion.glideXY(100,100,sec=5) # 在5s內(nèi)讓精靈滑行到100,100
motion.changeX(10) # 改變X坐標
motion.changeY(10) # 改變Y坐標
motion.setX(10) # 設(shè)置X坐標
motion.setY(10) # 設(shè)置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) # 改變精靈特效, 第一個參數(shù)是效果類型跷车,第二個參數(shù)是改變的值
looks.setEffect("color",99) # 設(shè)置精靈特效橱野, 參數(shù)如上
looks.clearEffect() # 清楚特效
looks.changeSize(5) # 改變精靈大小
looks.setSize(50) # 設(shè)置精靈大小

# looks 聲音部分
sound.play("meow") # 播放聲音水援,對應(yīng)精靈所帶的音效
sound.stopAll() # 停止所有聲音
sound.playDrum(1,0.25) # 打鼓茅郎,第一個參數(shù)對應(yīng)鼓的類型可以去對應(yīng)圖塊查看系冗,第二個參數(shù)是節(jié)拍長度
sound.rest(0.5) # 停止節(jié)拍
sound.playNote(60,0.5) # 播放音符薪鹦,第二個參數(shù)是節(jié)拍長度
sound.setInstrument(2) # 設(shè)置樂器類型
sound.changeEffect(1,10) # 改變聲音特效
sound.setEffect(1,10) # 設(shè)置聲音特效
sound.clearEffect() # 清除所有聲音特效
sound.changeVolume(10) # 改變音量
sound.setVolume(100) # 設(shè)置音量
sound.volume() # 讀取音量
sound.changeTempo() # 改變節(jié)奏
sound.setTempo() # 設(shè)置節(jié)奏
sound.tempo() # 返回節(jié)奏

# pen 畫筆部分
pen.clear() # 清除當(dāng)前圖像
pen.stamp() # 用當(dāng)前精靈印章
pen.penDown() # 落下畫筆
pen.penUp() # 抬起畫筆
pen.setColor("#FF0000") # 設(shè)置畫筆顏色
pen.changeColor(10) # 改變顏色HUE值
pen.setShade(10) # 設(shè)置畫筆色度
pen.changeShade(10) # 改變畫筆色度
pen.setSize(10) # 設(shè)置畫筆大小
pen.changeSize(1) # 改變畫筆大小

讓小貓動起來

motion.move(10)

敲入這樣的命令就會發(fā)現(xiàn),小貓動起來了,跟我們之前學(xué)習(xí)的scratch是不是很相似呢?

旋轉(zhuǎn)的小貓

下面我們讓小貓轉(zhuǎn)幾圈

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

注意旋轉(zhuǎn)完畢要恢復(fù)90°

注意到途中的:輸入冒號之后,需要縮進的,四個空格,然后回車再回車執(zhí)行代碼,python的縮進也是語法規(guī)則的一種喲

繪制正方形

我們接下來用小貓繪制一個正方形把


還可以

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)

執(zhí)行下代碼看看是什么效果

import time是導(dǎo)入時間相關(guān)函數(shù)
這里用到的time.sleep是等待0.25秒,你可以調(diào)整等待的時間
然后我們來改變下樂器

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)    

動畫原理


我們知道只要快速切換圖片就會產(chǎn)生動畫效果

from scratch3 import *
import time

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

time.sleep(1)類似于控制中的等待,意思是等待1秒.嘗試改變sleep方法的值觀察不同的動畫效果

總結(jié)

KittenBlock推出的Python功能涵蓋了常見的代碼塊,加上很多python代碼功能比如數(shù)學(xué)運算啊,控制結(jié)構(gòu)啊,變量和列表都是Python自帶的,用這個工具結(jié)合舞臺角色可以完成很多復(fù)雜的動畫了.

肯定有人會說,這個跟logo有什么區(qū)別呢?區(qū)別似乎不大,但是相比于logo對于角色的控制大大加強.

我們相信這款軟件一定會在不斷的完善之中,越來越好.基本上scratch有的模塊這里都會有對應(yīng),大家用scratch設(shè)計完,然后用Python實現(xiàn)就好了,不足之處在于目前對于事件還沒有良好的支持,所以改進的空間很大,但是我們要給新生事物足夠的信心.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市端考,隨后出現(xiàn)的幾起案子却特,更是在濱河造成了極大的恐慌,老刑警劉巖核偿,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漾岳,死亡現(xiàn)場離奇詭異尼荆,居然都是意外死亡,警方通過查閱死者的電腦和手機液样,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門鞭莽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麸祷,“玉大人,你說我怎么就攤上這事喷面。” “怎么了琳状?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵念逞,是天一觀的道長县昂。 經(jīng)常有香客問我陷舅,道長,這世上最難降的妖魔是什么待讳? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任创淡,我火速辦了婚禮南吮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘露乏。我一直安慰自己涂邀,他們只是感情好比勉,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布浩聋。 她就那樣靜靜地躺著,像睡著了一般衣洁。 火紅的嫁衣襯著肌膚如雪闸与。 梳的紋絲不亂的頭發(fā)上岸售,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天凸丸,我揣著相機與錄音袱院,去河邊找鬼忽洛。 笑死,一個胖子當(dāng)著我的面吹牛欲虚,可吹牛的內(nèi)容都是我干的复哆。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼唆阿,長吁一口氣:“原來是場噩夢啊……” “哼驯鳖!你這毒婦竟也來了久免?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丁寄,沒想到半個月后伊磺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡豪筝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年续崖,在試婚紗的時候發(fā)現(xiàn)自己被綠了严望。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡峻黍,死狀恐怖拨匆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骨饿,我是刑警寧澤洪鸭,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布览爵,位于F島的核電站镇饮,受9級特大地震影響储藐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蛛碌,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一辖源、第九天 我趴在偏房一處隱蔽的房頂上張望蔚携。 院中可真熱鬧,春花似錦克饶、人聲如沸酝蜒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽亡脑。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霉咨,已是汗流浹背蛙紫。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留途戒,地道東北人惊来。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓棺滞,卻偏偏與公主長得像裁蚁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子继准,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,867評論 25 707
  • 明天高考就將正式開始了移必,相信廣大考生都十分緊張室谚。不知道有多少考生今夜會難以入睡,也不知道有多少人會和我一樣想起多年...
    豆格斯閱讀 209評論 0 2
  • 1.轉(zhuǎn)自:離散余弦變換(DCT)的定義_小火車_新浪博客 已知離散傅里葉變換(DFT)為: 由于許多要處理的信號都...
    horu閱讀 39,899評論 1 17
  • 如果可以回到從前 讓您天天把我抱在您的懷里 讓我盡情的嗅著 您身上的汗水味還有新安江煙草味 我用小手按摩您的雙肩 ...
    愛上一葉浮萍閱讀 391評論 23 23
  • 這兩天終于收到了報到證崔泵,為了把戶口遷回家秒赤,必須去省教育廳蓋章。這件小事憎瘸,讓我感到現(xiàn)在辦事機構(gòu)真的人性化了很多入篮。 沒...
    溪云28閱讀 158評論 0 0