積木編程小游戲制作,Scratch語言是什么?
伴隨著國內多個地區(qū)將人工智能和編程納入必修課,少兒編程被越來越多的家長們所關注。Scratch是很多孩子學習編程的第一步,很多家長對Scratch可能不是很了解,今天,哈工科教少兒機器人編程教育就為大家整理了針對少兒學習Scratch的十問十答,對少兒編程有疑惑的家長們可以了解下。
1、問:什么是Scratch?多大的孩子可以學Scratch?
答:Scratch是由MIT(麻省理工學院)米切爾·瑞斯尼克(Mitch Resnick)教授帶領的“終身幼兒園團隊”(Lifelong Kindergarten Group)開發(fā)的一款積木式少兒編程軟件。通過類似拖動積木塊的方式和使用軟件中的素材,可以很容易地創(chuàng)造有趣的動畫、游戲,以及控制機器人和電子設備等,在創(chuàng)作的過程中不僅習得了Science(科學), Technology(技術), Engineering(工程), Arts(藝術), Maths(數學)等多個領域的知識,而且可以培養(yǎng)邏輯思維能力、觀察能力、創(chuàng)新能力和想象力。
幼兒版的ScratchJr適合5-7歲的孩子學習,6- 12 歲是學習少兒scratch編程的最佳年齡段。 之前沒有接觸過編程的學生建議先學Scratch,培養(yǎng)編程邏輯。
2、問:學習Scratch需要準備什么?
答:需要準備一條可供編程的電腦,如果孩子對機器人感興趣,也可以準備一些智能硬件如micro:bit,樂高等。
3、問:學習Scratch對孩子有哪些幫助?
答:Scratch融合卡通、動畫、音效等多媒體的運用和直觀拖拽式的編程方式,生動有趣,可以編寫各種類型程序,游戲、動畫、互動美術、實物模擬、數學模擬等,想象無限。同時蘊含豐富知識,體現現代編程思想,涵蓋程序設計、數學、物理、語言、藝術各領域;經過系統(tǒng)學習,編程班的孩子的邏輯思維能力將遠遠超過一般的同年齡孩子。
事實上,Scratch是種“一朝學會,受益終生”的課程。Scratch 幫助學習者獲得創(chuàng)造力、邏輯力、協(xié)作力。 這些都是生活在 21 世紀不可或缺的基本能力。
4、問:Scratch可以接哪些外接硬件呢?
答:使用Scratch編程,可以將代碼下載至智能硬件中,對智能硬件編寫驅動代碼,可以對電機,燈和傳感器、micro:bit、LEGO EV3等智能硬件進行編程。
5、問:自己在家指導孩子學習,需要買哪些書籍?
答:《Scratch 3.0少兒編程趣味課》適合孩子編程入門時使用。《Scratch 3.0少兒游戲趣味編程》適合有一定基礎的孩子學習,家長可以根據孩子的基礎及興趣程度自行選擇。
6、問:學Scratch可以參加哪些科創(chuàng)類競賽?
答:可參加藍橋杯、全國中小學電腦制作活動、全國青少年創(chuàng)意編程與智能設計大賽、全國中小學生創(chuàng)·造大賽、全國中小學信息技術創(chuàng)新與實踐大賽(NOC大賽)等科創(chuàng)類競賽活動。
7、問:什么是Scratch Jr?學習Scratch Jr有什么幫助?
答:Scratch Junior是麻省理工大學實驗室開發(fā)的一個入門級的編程語言,4-7歲的孩子可以使用它創(chuàng)建自己的互動故事和游戲。Scratch JR 非常注重低齡的孩子時候學習編程,以便在這個現代世界里充滿信心地使用編程技術。“小小程序員”通過學習,也能創(chuàng)建他們自己的互動項目,游戲,故事和模擬,同時學習編程概念和實踐的基礎編程。
學習Scratch Jr,孩子可以獲得:1、更好地理解數學和英語讀寫能力。2、熟悉各種計算機軟件和數學組件的分類,并跨域構建基礎知識結構。3、成為更好的問題解決者和思想家,以及更好地理解科學和軟件開發(fā)。4、通過排序,并行,循環(huán),條件來提高計算思維能力。
8、問:學習Scratch對后面階段的代碼語言學習有什么幫助?
答:在人工智能時代,如果選擇一種編程語言來學,那肯定是和人工智能相關的。現在最先進人工智能編寫語言是Python,學習Scratch為Python的學習做了非常好的鋪墊。學習了Scratch ,可以為未來學習Python等代碼語言打下基礎!
9、問:在家學還是報班學Scratch?
答:如果想要讓孩子系統(tǒng)的學習Scratch,建議還是報班學習,這樣可以成體系,而且可以讓孩子快速的獲得編程能力。在家學習難以堅持,家長和孩子對Scratch的學習可能只是停留在表面,無法深入的融會貫通。而且,報班學習對未來參加科創(chuàng)類競賽有幫助,可以通過參加賽前集訓更好的應對競賽。幫助孩子獲得成就感,更有助于長期堅持。
10、問:讓孩子學Scratch編程還是Scratch編程+硬件?
答:對于熱愛編程的孩子來說,可以學習Scratch編程,對于喜歡動手實踐、創(chuàng)造發(fā)明的孩子來說可以學習Scratch編程+硬件,單純學習編程,很多孩子可能會覺得枯燥,覺得沒有成就感,也就難以堅持。而加入了硬件后,可以鍛煉孩子的動手實踐能力和創(chuàng)造能力,且更具趣味性,還能為未來參加機器人類的科創(chuàng)競賽打下基礎。
通過以上的介紹,相信大家對少兒編程工具Scratch有了一定的了解,如果有少兒編程學習類的問題也可以通過私信或者留言咨詢哈工科教少兒機器人編程教育。
游戲一般用什么編程語言開發(fā)?
游戲本身會運行在不同的平臺,而平臺也影響了使用的語言。平臺主要有2大類,PC(也就是常用的電腦)和手機。它們上面都可以使用網頁來運行游戲,所以額外我們把網頁瀏覽器上面跑的叫WEB端。針對上面的3種平臺類型。我們來聊一聊這些平臺上常見的游戲是用什么開發(fā)的。
PC端。大部分的游戲是C/C++開發(fā)的。這主要是因為我們使用的操作系統(tǒng)如window,mac的底層都是c。使用C/C++可以極大的發(fā)揮性能上面的優(yōu)勢。比如下面這個NBA2K18就是用C/C++為主開發(fā)的。
手機端。手機端的游戲我們稱為手游。手機上面的操作系統(tǒng)主要是ios與android,也就是蘋果和安卓系統(tǒng)。在之前,android上面的游戲以java開發(fā)居多。這是因為android系統(tǒng)本身就是以java開發(fā)為主。ios上面的游戲以object c開發(fā)居多,這也是因為系統(tǒng)本身的緣故。最近ios又出來swift語言。但是隨著技術的發(fā)展,程序員們發(fā)現一款游戲要部署到各個平臺的成本太高了。所以現在主流的技術是使用跨平臺的游戲引擎開發(fā),然后發(fā)布到不同的平臺。所以,語言的選擇從對平臺的依賴變成了對游戲引擎的依賴。那我們就要看看主流的游戲引擎有哪些?主流的游戲引擎有:unity,cocos,unreal等。unity采用的是C#語言為主。cocos下面以C++、lua、js等開發(fā)語言。unreal主要是以C++為主。從上面這些中你會發(fā)現語言有很多,使用的也很多。在商業(yè)項目以及目前主流技術中,大部分高水準的游戲是以C++結合lua來開發(fā)的。C++負責處理高性能的部分,lua處理邏輯部分來加快開發(fā)速度。即使是使用unity引擎,大部分產商也會選擇C#結合lua的方式來開發(fā)。C#負責核心部分,lua處理邏輯部分。
再聊一下WEB端。WEB端以前是以flash為主,常見的就是4399的很多小游戲,都是flash為主。WEB端主要是一個html與js的解釋器。目前WEB開發(fā)國內主要是3大引擎:白鷺、laya以及cocos-js。它們的主要開發(fā)語言為typescript,這主要是因為typescript可以提供非常快的開發(fā)速度(就像lua一樣),同時它還具備提前暴露問題的能力。
實際上上面的部分主要聊的是游戲客戶端。在游戲領域,實際上分為服務端和客戶端。客戶端指對外玩家可以見到的畫面表現等。服務端是運行在產商自己的服務器上的,支持玩家之間互相可見,同步,聊天等各種邏輯。對于服務端的語言,目前有C++結合lua以及C#、java、php等。這幾種都很常用,主流的大的游戲依然是C++為主。中小型的游戲各種都會用到。php常用于對網絡需求很低的游戲的做簡單的數據處理。
上面的主要是一些理論,下面我們來實戰(zhàn)幾個問題,一會我們再來總結。
1. 王者榮耀是用什么開發(fā)的?王者榮耀使用的是unity引擎,而這種全民級別的游戲是非常注重性能的。所以它采用的是C++結合C#。核心用C++,邏輯用C#。為什么不是我們前面說的C#結合lua呢?因為騰訊有這個技術實力,所以他們整體使用了更有性能優(yōu)勢的語言開發(fā)。
2. 微信里面的小游戲是用什么開發(fā)的?小游戲本質上是個WEB的執(zhí)行環(huán)境。所以它上面的很多游戲都是typescript或者js開發(fā)的。之所以typescript還沒有普及,是因為它的社區(qū)不夠活躍。
3.怎么猜測一款游戲是什么語言開發(fā)的?先上網搜索它的開發(fā)引擎,如果搜索到了就看看它對性能是否要求高,來推導它的使用語言。如果搜索不到,那很可能是自研引擎。自研引擎大部分都是C++實現的。
最后總結下。目前大部分國內的游戲以C++/C#結合lua實現為主,隨著小游戲的開始,催生出一些js/typescript開發(fā)的游戲。為什么是以C++結合lua會是實現為主呢,是因為現在網游最賺錢。一款游戲月流水過千萬甚至過億催生了這個產業(yè)。這個產業(yè)注重2點:性能穩(wěn)定,所以是C++。可以各種修改,各種支出活動,所以是lua。C++性能非常高,騰訊內部大部分代碼其實都是C++的。lua是門腳本語言,招人門檻很低,也容易學習。所以,很多語言實際上是因為大環(huán)境的影響而被選中的。另外一方面,服務器也可以采用C++結合lua開發(fā),這樣的話就形成了雙端(服務端和客戶端)都使用相同語言的高速開發(fā)模式。
我猜想題主是想選擇一種語言學習。首先題主要看下自己未來的方向。是想做大項目還是做小項目。如果是希望做大項目,目前無疑推薦的是C++和lua。如果是小游戲之類的,推薦的是typescript。未來的一個趨勢我大膽預測可能是C++結合typescript。我了解到的一些技術大牛已經開始這樣實踐了。推薦的lua語言開發(fā)書籍如下:
推薦的C++書籍如下:
typescript暫時沒有合適的書籍供閱讀,主要以typescript的官方文檔為主。
小游戲類的開發(fā)書籍推薦如下:
大的游戲實際上需要大量的學習和知識積累。遠遠不是幾本書能完全吃透的。這邊還是推薦一本unity3的引擎的書來提高下入門的興趣:
特別提醒下:基于目前互聯(lián)網的發(fā)展速度,讀書已經不是最快的獲取知識的途徑了。所以推薦的是優(yōu)先以互聯(lián)網的內容來學習,找個引擎玩一玩。像玩玩具一樣的學習編程是最快樂的。之后再努力進入一線的研發(fā)團隊歷練,這樣成長最快。紙質的書籍落后于實際的技術3-5年以上。
作者背景:前迅雷員工/前游戲公司雙端主程
編程貓怎樣制作多個場景?
用編程貓制作游戲,需要用到編程貓的角色元素,場景元素,代碼積木塊,背景音樂等等,拼接代碼積木將場景角色結合到一起,完成一個游戲的制作。但是,開發(fā)一款游,光是一個人是完不成的,它是一個團隊的合作。小朋友不妨可以聽聽課程,根據老師的指導制作好玩的游戲。我們是項目式的教學,每堂課都會帶著孩子去完成一個項目或者小游戲,孩子在學習的過程中不僅收獲了編程的知識,同時也能做出一個作品,寓教于樂,讓小朋友更加有成就感。
以上就是關于積木編程小游戲制作和Scratch語言是什么的相關問題解答,希望對你有所幫助。