兒童游戲怎么編程,想做游戲開發(fā)?
今天剛剛看了一個關(guān)于生命游戲的小教程,試著去做了一下還蠻有趣。教得非常淺顯易懂。
如果是初學(xué)者第一次聽到“生命游戲”這個名詞,肯定會覺得是一款高霸上的RPG網(wǎng)游,或者是一部精彩酷炫的好萊塢電影。其實,我們今天要說的“生命游戲”,只不過是計算科學(xué)中一個最基礎(chǔ)最簡單的概念。本篇文章編教你如何用swift語言和游戲編輯工具SpriteBuilder制作一款屬于自己的生命游戲。如果你還不知道什么是“生命游戲”,可以登錄Wikipedia查看關(guān)于它的詳細解釋。幾乎所有的程序員在自己的coding生涯中都會或多或少接觸到它。
生命游戲是一個自主運行的小程序。程序初期有一個網(wǎng)格,網(wǎng)上的每一個小格子有兩個狀態(tài),“活”或者“死”。如果與某個格子相鄰的八個格子中有少于兩個活著的格子,則這個格子會因為寂寞而死去。而如果有超過三個活著的鄰居,它又會因為過于擁擠而死去。如果一個活著的格子正好有兩個或者三個格子,它還會繼續(xù)存活。如果一個死去的格子有兩個存活的鄰居,它會活過來。
首先,我們要先從SpriteBuilder講起:
要設(shè)計自己的生命游戲,我們先從一款叫SpriteBuilder的游戲編輯軟件開始。當(dāng)我們完成的時候,游戲?qū)襁@個樣子:
登錄Mac App Store 下載最新版本的SpriteBuilder。
SpriteBuilder是一款為Cocos2d游戲設(shè)計的類似于Xcode Storyboard的工具平臺。是一個可以讓你迅速編輯游戲的可視化工具。比起用代碼來設(shè)計游戲界面來,這種新型的交互工具可以讓用戶直接拖拽現(xiàn)成的元素到游戲界面來完成UI的設(shè)計,非常便捷。
除此之外,在SpriteBuilder上你還可以方便地制作動畫,音頻效果。這些特效我們將在文章的最后做詳細介紹。
開始SpriteBuilder后我們會新建一個SpriteBuilder項目,之后還會建立很多接口文件(.ccb文件,以SpriteBuilder的前身CocosBuilder命名)。SpriteBuilder對swift等語言有很好的兼容性,這意味著用戶可以同時用SpriteBuilder的編輯器和純代碼進行游戲設(shè)計。
一般使用SpriteBuilder的流程如下:
建立新的SpriteBuilder項目。導(dǎo)入圖片素材。為不同場景設(shè)計不同的.ccb文件。編寫代碼。完成并發(fā)布你的項目,這時候系統(tǒng)將會自動更新與之相聯(lián)系的Xcode項目。用Xcode運行項目。當(dāng)你運行程序的時候,Xcode中的CCBReader將會讀取所有的ccb文件并且根據(jù)這些文件創(chuàng)建游戲場景。下圖展示了SpriteBuilder如何和Xcode協(xié)同工作:
接下來,我們來看看SpriteBuilder界面長啥樣:
在我們開始設(shè)計游戲之前看一眼SpriteBuilder到底長啥樣。我們把它的界面分成4大部分:
Resource/Component Brows
er: 在這個區(qū)域你可以看見自己創(chuàng)建或者導(dǎo)入的文件信息,同
時還可以選擇按鈕節(jié)點并將其拖拽到場景中。
Stage: 這個區(qū)域會現(xiàn)實現(xiàn)在的情景,并且布局你的界面。
Timeline:用于用SpriteBuilder制作動畫。
Detail View: 每當(dāng)你選中一個元素的時候,這個區(qū)域會顯示此元素的基本信息,并可以在此區(qū)域進行編輯。比如坐標(biāo)、文本內(nèi)容和其他物理屬性。
其中,在 resource/component browser 標(biāo)題欄中左邊第一個是File View。它會列出所有的ccb文件和導(dǎo)入資源。
在這個視圖中你可以加入自己的資源,并對整個項目的文件結(jié)構(gòu)作出調(diào)整。
第三個是Node Library:
點擊便會顯示所有現(xiàn)有的游戲元素素材。
在Detail View中的第一個圖標(biāo)是 Inspector. 如果你已經(jīng)選擇了一個控件的話便可以通過此區(qū)域來編輯它的基本信息。
第二個是code connections。 可以在這里設(shè)置相關(guān)代碼:
下圖紅色箭頭所指的地方便是發(fā)布按鈕。用次按鈕你可以更新你的項目。
接下來是界面設(shè)計和編寫代碼,具體如果有興趣的可以看看手把手教你用Spritebuilder制作簡單的生命游戲app的教程。我在這里就簡單介紹一下啦:)
用游戲本當(dāng)開發(fā)機好嗎?
如果僅是辦公的話,我首選MacBook pro
Mac優(yōu)勢Mac輕便,續(xù)航時間長,而且Mac系統(tǒng)對于辦公還做了很多貼心的優(yōu)化,比如不關(guān)機蓋上蓋子放一天電池電量也不會耗費太多,更重要的是,你打開蓋子就可以接著干活,即便是關(guān)機,也可以選擇下次開機是否保留當(dāng)前的工作進程,這樣你就不用考慮每次開關(guān)機都要考慮保存當(dāng)前文檔了,還有就是用Mac你可以完全用觸控板代替鼠標(biāo),目前所有電腦中Mac的觸控體驗是無敵的,開個會什么攜帶非常方便。
游戲本游戲本的特點是配置高,用它當(dāng)開發(fā)機性能是沒有問題的,但是游戲本一般都比較笨重,個頭太大,不便于攜帶,要經(jīng)常開會的話,搬來搬去非常不方便的,但是除了敲代碼之外還要玩游戲的話可以選擇游戲本。
總之,主力辦公我建議選擇Mac,平時還玩游戲的話可以考慮游戲本,畢竟價格經(jīng)濟實惠。
給孩子報了兒童編程班?
上來說編程很枯燥的,是完全不了解編程,準(zhǔn)確的說是完全不了解孩子編程的。
人們想到編程的時候,首先想到的這是一種技術(shù)或者數(shù)學(xué)能力,編程更像是一種寫作能力,一種語言,當(dāng)你在學(xué)習(xí)寫作的時候,學(xué)習(xí)如何表達自己的想法,與別人分享自己的想法。編程也一樣,編程可以幫助我們組織,表達并分享我們的想法。
孩子在學(xué)習(xí)編程的時候,可以創(chuàng)造故事,動畫和游戲,通過這種方法,他們可以把想法表達出來并與世界分享。
每個孩子都需要表達自己。多數(shù)孩子長大后都不會成為程序員或者計算機專家,但任何背景的孩子都能在學(xué)習(xí)編程過程中受益。
首先孩子不喜歡有多種愿意,是培訓(xùn)班的形式,內(nèi)容太無趣了,還是孩子沒有體驗到其中的樂趣,先分析下原因,然后再決定后面怎么辦。
最簡單的方法是家長你和孩子一起學(xué),不知道你帶孩子多大了,是學(xué)的Scratch編程,還是Python等,尤其是Scratch完全可以家長和孩子一起學(xué),其實就可以理解為另一種親子類游戲。
對我個人來說,解決困惑的方法,不是把“編程教育”都外包給他人,而是我先和孩子一起學(xué)。如果我們做父母都不清楚“編程”會對自己的孩子成長起什么作用,又怎能確信把錢和時間花在了刀刃上。雖然我是計算機專業(yè)畢業(yè),做過程序員,但是對幼兒編程也是有了孩子之后才有的深入了解。
幼兒編程之父Mitch 談幼兒編程為什么要讓孩子學(xué)編程?
孩子在學(xué)習(xí)編程的時候,也是在學(xué)一種語言。不是一種技能學(xué)習(xí),而是培養(yǎng)理性思維,進而發(fā)現(xiàn)理解問題,解決問題的能力。進而讓他們發(fā)現(xiàn)自己有能力在這個世界上創(chuàng)造東西。
編程幫助我們組織,表達并分享我們的想法。孩子在學(xué)習(xí)編程的時候,可以創(chuàng)造故事,動畫和游戲,通過這種方法,他們可以把想法表達出來并與世界分享。不是一種技能學(xué)習(xí),而是培養(yǎng)理性思維,進而發(fā)現(xiàn)理解問題,解決問題的能力合作,大家合作的時候能做的事情比一個人要多很多。這也是編程的意義所在,孩子通過編程讓機器人或者汽車動起來,跑的更快,讓機器人轉(zhuǎn)身,但是更重要的是孩子在這個過程中的不斷試錯,思考,以及這期間的創(chuàng)作過程。
母親節(jié)的故事幼兒編程之父Mitch Resnick曾經(jīng)在Ted上做過一個演講“Learn to code, code to learn”,作為MIT媒體實驗室教授,創(chuàng)建風(fēng)靡全球的可視化編程軟件"Scratch",分享了他自己有趣的母親節(jié)故事。
五月的某個周六下午,Mitch突然意識到明天是母親節(jié),但他還沒有準(zhǔn)備給母親的禮物,于是他開始思考該送什么。最終他決定用Scratch軟件做出一張互動型的母親節(jié)賀卡。
在動手制作前,Mitch想知道,在Scratch網(wǎng)站上的300萬份作品中,是否有孩子送給母親的作品。讓他驚訝而欣慰的是,他真的搜索出了幾十個母親節(jié)賀卡。
然后開始點擊鏈接,播放其中的一些賀卡。其中有一個是個小動畫,上面有一只小貓咪和一只貓媽媽。小貓咪轉(zhuǎn)過頭,看到了貓媽媽,叫了一聲“媽咪!”然后,小貓咪開心地跳到貓媽媽身上,把她撲倒,說“我愛你”。在動畫的結(jié)尾,作者加上了一個“重放”按鈕,這樣他的媽媽就能一遍又一遍地欣賞動畫賀卡了。誰不想每天多看幾次呢。
在播放這些母親節(jié)賀卡時,Mitch感到了一種滿足。這正是他們在MIT媒體實驗室設(shè)計Scratch時想要達到的結(jié)果。
昨天放學(xué)回家,吉吉像寶貝一樣的從書包里掏出一個手鏈,說是在幼兒園自己編的,送給媽媽,讓我跑步的時候也帶著,晚上躺在床上時還問“媽媽,你喜歡我送你的禮物嗎?”。看著孩子送給自己的禮物時,我感到了一種滿足。用線繩編織是一種表達方式,那么哪一天孩子通過Scratch表達他的思想,我肯定依然會異常滿足。
日后,他能將Scratch當(dāng)作一種表達自我的方式,盡情表達他的思想,并與我們家長和他的朋友交流。我想他也一定很快樂。
Scratchjr也就是Scratch junior,建議是5+就可以了,我們可以先觀察自己的孩子興趣和發(fā)展情況,不能一概而論。
比如,吉吉在2歲左右的時候開始玩Brio和Lego火車軌道,用火車認識,演繹他的世界,表達自我。
等到差不多4歲的時候,更期待以一種更加開放,自由的方式去玩了,這時他更偏愛積木,小手搭建侏羅紀恐龍公園,大礦山,石窟群等,因為這時想象力更加豐富,在日常中獲取的靈感,積木可以更加自由靈活的表達出來。比如上周騎行去棲霞山,圍著石窟群看來看去,回家就迫不及待的用積木搭建出來。腦洞大開的積木
4歲以后呢,他對交互,互動興趣變得更加濃郁,比如之前特別喜歡手動開著火車在軌道上運貨,探險。現(xiàn)在更偏向電動遙控火車,加速,減速,搬道岔等等,這也就是說的交互的一種表達方式,在做一個操作或者事情的時候想看到結(jié)果,收到反饋。這也是編程能給孩子帶來的很好的互動。
如果孩子已經(jīng)流露出以一種更加自由的方式表達他的想法,又希望能得到一些反饋和互動的時候,我們可以引導(dǎo)孩子進入編程這種新的“語言”方式,當(dāng)然前提是孩子感興趣的。
這是中秋節(jié),孩子和爸爸一起編程制作的中秋祝福送給爺爺奶奶。
孩子用手搭積木學(xué)會了穩(wěn)定和堅固,用畫畫學(xué)會了混合不同的顏色,更重要的是學(xué)會了創(chuàng)作的過程,通過不斷的探索和實驗,表達了自我和世界,那么“編程”不僅僅當(dāng)作一種狹隘的技能,作為一種新的方式幫助孩子把想法表達出來,讓孩子參與到世界的活動中來,而且還可以和世界分享,我們又有什么理由拒絕呢?
至于編程工具,平臺,編程教具,怎么學(xué),我在后面會和大家慢慢分享我的一些心得。
在孩子編程上你有什么心得和經(jīng)驗,或者想了解,已經(jīng)在學(xué)的,歡迎留言給我,我們一起交流。
以上就是關(guān)于兒童游戲怎么編程和想做游戲開發(fā)的相關(guān)問題解答,希望對你有所幫助。