Scratch編程27:如何創建函數之自製積木

2020-12-25 和小po一起學編程

#少兒編程#

隨著我們在Scratch上編寫的程序越來越複雜,積木會使用的越來越多。有時候,為了代碼的條理性、簡潔性和可讀性,我們需要創建自己的積木。

技能1:創建自製積木

① 在自製積木模塊裡,點擊「製作新的積木」按鈕(圖1)。

圖1

② 然後會彈出一個創建新積木的對話框(圖2)。紅框內是給要創建的積木起個名字,這裡我給新積木命名為「跳舞」。

藍框內的三個選項是可以作為輸入項添加到積木裡的。當然對於簡單的積木,這些選項是不需要的,只有創建更高級的積木時,才會用到這三個選項。

圖2

③ 點擊「完成」按鈕,在自製積木下面會有剛剛創建的「跳舞」積木(圖3自製積木區域紅色箭頭指向),同時在代碼區域會有「定義跳舞」積木(圖3代碼區域紅色箭頭指向)。

圖3

④ 在代碼區的「定義跳舞」積木之後添加積木,來實現我們要做的事情

技能2:刪除自製積木

如果我們不需要這個自製的積木,我們也可以把它刪掉。滑鼠按住代碼區域的「定義跳舞」積木(圖4),並拖動到左邊自製積木項那邊,鬆開滑鼠,自製積木就刪掉了。

圖4

【練習】

我們先來創建一個簡單的積木,看看自製積木的創建過程以及如何使用。

1、任務要求

任務角色:使用Ballerina角色

任務背景:使用默認的背景

任務內容:製作「跳舞」積木,需要滿足如下要求:

通過切換造型實現跳舞使用計時器來控制跳舞的時間2、編程實現

第一步:刪除默認角色「小貓」,然後添加角色Ballerina(圖5

圖5

第二步:將角色Ballerina設為當前編程對象(圖6

點擊角色設置區的Ballerina角色,將該角色設為當前編程對象。

圖6

代碼如圖7:

圖7

藍色框內的代碼是定義「跳舞」積木所要完成的任務,首積木紅色的「定義跳舞」積木後面跟的就是完成跳舞所要做的所有步驟。

① 首先初始化造型,這裡我把ballerina-a設為第一個造型;

② 然後初始化計時器,將計時器設為0。Scratch中的「計時器」積木和我們生活中的計時器一樣,按秒計數;

③ 切換下一個造型,保持0.3秒;

④ 重複執行③的動作,直到計時器超過4秒。

藍色框內的代碼是定義「跳舞」積木,那麼如何執行呢?紅色代碼框就是調用我們自己創建的「跳舞」。當點擊「運行程序」圖標,就會執行「跳舞」積木定義的所有的步驟。

自製積木的使用和Scratch的積木一樣,用滑鼠按住自製積木區的「跳舞」積木不放,然後拖到代碼區就可以了,如圖8。

圖8

第三步:保存程序

點擊「運行程序」,執行結果如圖9

圖9

自製積木的好處

Scratch的自製積木是一個很重要的概念,在其它程序語言裡,這叫函數或者過程。

自製積木就是把實現某個功能的一組積木定義成一個積木(比如上面那個例子的「跳舞」積木),這樣在項目程序裡的任何地方,我們如果需要執行那個功能,就只需要使用自定義的那塊積木就可以了,而不需要使用實現那個功能的一組積木。

就如同上面例子裡,不論我們怎麼多次使用「跳舞」積木,它都涵蓋了它所屬的所有積木。使用了「跳舞」積木,就等於使用了它所屬的那一組積木,而不必每次都複製那一堆積木。

這在複雜的程序裡非常有用,它可以簡化代碼,保持代碼的邏輯性。

不過這篇我們只是創建了一個很簡單的自製積木,但這個積木的使用範圍還不夠廣,它固定住了流程和跳舞的時間。我們可以通過在積木裡添加參數使得我們的自製積木變的更加靈活,使用範圍更加廣,下一篇我就會給大家介紹如何添加參數。

原創不易,請勿抄襲。歡迎大家關注我,和我多交流,如果你喜歡,請轉贊評三連,謝謝。

相關焦點

  • Scratch編程28:創建帶參數的函數之自製積木選項
    #上一篇我們說了如何創建自製積木,不過那篇創建的積木比較簡單,它很多條件都是定死的,所以使用起來不靈活。那麼這一篇我們就來說一說如何創建更靈活的積木。圖1是上一篇我們定義的「跳舞」積木,但是這個積木跳舞的步驟和時間全都定死的,所以使用起來不靈活。比如說程序裡跳舞的時間為4秒,那如果我在一個程序裡,一會需要跳4秒,一會需要跳10秒呢?按照圖1的創建方法,那我們就要為不同的跳舞時間創建不同的跳舞積木,這樣很麻煩。
  • Scratch 3.0 圖形化編程積木說明指南(自製積木和擴展積木)
    在scratch3.0共有十大類的積木可供我們使用(擴展積木算一大類)。本文檔將10大類、100多個積木列出,方便學生在需要的時候參考查閱。自製積木:這個分類中,可以創建自製積木。點擊可以創作一個自製積木。點擊該積木塊,會打開一個「製作新的積木」 對話框,可以輸入新創建的自製積木的名稱,創建一個自製積木。一個自製積木會出現在腳本中。我們使用定義來告訴自製積木要做些什麼。
  • Scratch 3.0 圖形化編程積木說明指南(變量積木)
    在scratch3.0共有十大類的積木可供我們使用(擴展積木算一大類)。本文檔將10大類、100多個積木列出,方便學生在需要的時候參考查閱。變量積木:當應用程式執行的時候,變量積木用於儲存或操作數據。創建一個變量後,就會出現本表中第3項到第7項列出的5個積木。當你建立變量時,你可以選擇變量的適用對象。點擊創建並命名一個新的列表,那你最初見你一個列表時,會出現這個列表的積木。你可以選擇列表是供所有角色使用(全局),還是僅供一個角色使用(局部)。你可以設置列表對所有角色有效,或者只是對當前選中的角色有效。
  • Scratch 3.0 圖形化編程積木說明指南(偵測積木)
    在scratch3.0共有十大類的積木可供我們使用(擴展積木算一大類)。本文檔將10大類、100多個積木列出,方便學生在需要的時候參考查閱。偵測積木:偵測積木用於確定滑鼠的位置及其與其他角色的距離,並判斷一個角色是否觸碰到其他角色的積木。
  • Scratch編程10:Scratch積木塊你都了解了嗎
    少兒編程:Scratch編程前面幾篇我們通過《河豚魚找朋友》這個動畫,熟悉了Scratch的編程方式,了解了Scratch角色、場景以及對角色的部分操作,比如移動、轉向,還學習了坐標、循環、事件這些很重要的技能。
  • Scratch趣味少兒編程之認識鐘錶實例
    更多推薦 少兒編程之scratch趣味編程:Scratch3.0編輯器下載與安裝 scratch少兒趣味編程的好處
  • 編程學習so easy,玩玩創豆智能積木就能做到!
    編程對於現代孩子的重要性不言而喻。少兒編程對於兒童和基礎教育具有巨大作用不僅在數學、邏輯、設計思維和程序設計等基本技能上具有巨大作用,而且在跨學科學習和融合學科實踐上具有巨大的作用,同時少兒編程將深入的培養兒童的創造性、團隊協作以及數據和系統思維能力等高階能力。
  • Scratch 3.6與編程貓列表與消息廣播對比分析
    問題的提出Scratch與編程貓都僅支持普通變量與列表(相當於數組)兩種類型。但是,具體使用過程中,發現二者還是各有利弊。對於基本的列表操作,例如創建,初始化,增刪改查,我們且不論。本短文中主要分析在大數據量情況下,兩個軟體各自的管理方案及各自存在的問題。
  • Scratch編程30:超人飛行之角色的操作
    #Scratch編程從這篇起,我會從中國電子學會全國青少年軟體編程等級考試預備級指定用書《Scratch編程入門與算法進階》挑選一些練習來講。由於是移動建築物,所以這個程序是針對角色Buildings編程:第一步:將建築物放在舞臺的最右側(x:340,y:-27);第二步:移動到屏幕的最左側(x:-340,y:-27);第三步:切換Building的下一個造型
  • 帕拉卡(Paracraft)3D動畫編程為什麼比Scratch更受學生歡迎?
    為什麼帕拉卡(Paracraft)3D動畫編程比scratch更加受機構和學生歡迎?STEAM教育的效率取決於創造平臺和工具是否先進、強大和易用。好的工具能夠最大程度、持續激發學生的興趣。體驗過的學生對帕拉卡(Paracraft)少兒編程更加感興趣的一大原因在於它的自由創作表達,通過方塊積木自由創作素材,不像其它的少兒編程工具,創作只能基於官方提供的素材包,自己親手搭建創作的模型成為編程的素材,參與感和掌控感會更強。他們在產生成就感的同時,也好奇於「為什麼界面就能動起來」。
  • Scratch編程23:彈鋼琴之如何與作品互動
    #我們之前一直都是在做動畫,通過做動畫來熟悉Scratch各個積木。演奏鼓和樂器在Scratch中,是通過將積木和鍵盤上的各個按鍵關聯起來的方式來演奏音樂。比如我們可以設置用鍵盤中的a鍵來模擬小軍鼓(圖4),用鍵盤1~7來模擬彈鋼琴(圖5)。「當按下a鍵」是事件模塊中的積木。
  • 數學與編程的關係?機器人編程和Scratch編程衝突嗎?
    」那麼如何幫助孩子們建立數學興趣呢?我們需要一種學習工具,這種工具既能夠把抽象枯燥的公式變得有趣,又能形象化展現解決思路與可操作性,還能與生活中的各類小趣味小常識結合起來,讓孩子不再把學數學當做一件痛苦的事情。這種一舉多得的學習工具和方式——就是編程。
  • 少兒編程:Scratch軟體介紹
    少兒編程:Scratch編程Scratch是麻省理工學院開發的圖形化編程工具,主要面對青少年。該軟體為開源軟體,下載和使用都是免費的。與寫代碼編程的不同,Scratch使用者不需要記住命令,它採用積木拖拽模式進行編程。
  • Scratch編程技巧之「停止腳本執行」積木用法
    在實際應用中,我們不僅要關注這個積木各個命令本身,還要觀察此積木的形狀。細心的小程式設計師會注意到,在情形(1)和(2)時,這個積木底部是平面的,意即此時後面不能再接續其他積木代碼了!但是,在情形(3)時,這個積木底部變成凹形,意即此時後面可以再接續其他積木代碼!
  • 少兒編程教育scratch軟體python軟體找不到下載地址,原因看這裡
    在進行少兒編程教育的時候,必然需要下載安裝少兒編程教育軟體,對此很多家長很頭疼,浪費了半天時間,還是沒有找到想要的軟體,今天就來給大家說一說建議。英文界面:點擊翻譯之後的狀態:scratch官網打不開,網絡找到的都是下載亂七八糟的東西從網絡上看到,好像從2020年的8月以後,scratch官方網站就打不開了,那麼如何找到scratch呢?
  • 少兒編程老師難找,3個免費編程網站助你自學
    孩子天天「宅」家如何自己學習?小編在親自測試後,給大家推薦3個免費的編程學習網站,讓孩子在家就能高效自學少兒編程,趕緊試一試吧。大多數國內做少兒編程的機構都採用了Scratch圖形化編程進行教學,可以創作動畫、遊戲和交互藝術。scratch官網的作品展示非常豐富,有來自全世界孩子們的編程作品。由於是國外的網址,加載會比較慢,建議直接下載Scratch3.0的離線客戶端,軟體運行穩定,還可連接樂高教育類積木編程,可玩性非常高。
  • 顛覆傳統積木的玩法的優必選智能編程積木機器人測評
    積木是兒童必備的首選玩具。幼兒玩傳統積木,搭建一些簡單的造型,玩法單一,小朋友很快就會厭倦。大齡兒童開始拼樂高,根據圖紙,搭建各種各樣的造型,給小朋友帶來很多樂趣。但是,隨著小朋友年齡的增長,大齡兒童需要玩法豐富、更有創造力、想像力和互動的拼裝積木了。而編程積木類玩具則具有很大的可玩性,利用給定的零件,拼裝,樹立,然後經過編程,完成對機器人的操控。
  • 寫Python 代碼不可不知的函數式編程技術
    近來,越來越多人使用函數式編程(functional programming)。因此,很多傳統的命令式語言(如 Java 和 Python)開始支持函數式編程技術。本文對 Python 中的函數式編程技術進行了簡單的入門介紹。本文適合對函數式編程有基本了解的讀者。
  • 大數據入門:Scala函數式編程
    提到Scala,首先會提到的一個概念,就是函數式編程,這也是Scala語言區別與其他程式語言的典型特徵。Scala是一門多範式(multi-paradigm)的程式語言,設計初衷是要集成面向對象編程和函數式編程的各種特性。
  • 函數式編程的第二春?揭秘其再次崛起的背後原因
    它們並沒有優劣之分,重要的是使用正確的工具來完成工作。其中,函數式編程是大多數軟體工程師不太熟悉的一個概念。函數式編程是種編程方式,它將電腦運算視為函數的計算。函數程式語言很重要的基礎是λ演算(lambda calculus),而且λ演算的函數可以接受函數當作輸入(參數)和輸出(返回值)。和指令式編程相比,函數式編程強調函數的計算比指令的執行重要。