關(guān)于編程的小游戲,學(xué)習(xí)游戲編程需要學(xué)什么?
這個(gè)問(wèn)題問(wèn)得太大了,我這么跟你分析吧。游戲編程按游戲平臺(tái)分:PC端游、手機(jī)游戲、網(wǎng)頁(yè)游戲、H5游戲、微信小游戲、掌機(jī)游戲、家用主機(jī)游戲等;按崗位分:策劃、前端、后端等。你想學(xué)游戲編程,對(duì)崗位來(lái)講就是前端或后端,相對(duì)來(lái)說(shuō)前端入門(mén)簡(jiǎn)單寫(xiě)。現(xiàn)在H5游戲和微信小游戲比較火,所以學(xué)習(xí)JavaScript、html、css等技術(shù)就可以開(kāi)始你的游戲編程之旅啦。
怎么編程小游戲?
需要學(xué)習(xí)多種編程語(yǔ)言。
1:首先要知道游戲編程用的什么語(yǔ)言。
2:c++語(yǔ)言是目前最為穩(wěn)定的、指針最為全面的語(yǔ)言。游戲尤其網(wǎng)游的穩(wěn)定性要求極高,因此必須用c++。
3:先學(xué)c語(yǔ)言,c語(yǔ)言是全部計(jì)算機(jī)語(yǔ)言的基礎(chǔ)更是c++的基礎(chǔ)。因此要學(xué)好。再學(xué)c++,這個(gè)要學(xué)精,不然開(kāi)發(fā)游戲沒(méi)戲。然后學(xué)數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)、線(xiàn)性代數(shù)、離散數(shù)學(xué)結(jié)構(gòu)。
4:html、css、js也要知道。
5:如果要制作跨平臺(tái)游戲,建議學(xué)習(xí)下opengl/opengles,這是個(gè)很強(qiáng)大很專(zhuān)業(yè)的圖形接口,因?yàn)楹芏嗥脚_(tái)支持所以適合跨平臺(tái)游戲制作使用。
6:做2d游戲,可以使用cocos2dx等一些引擎,當(dāng)然你也可以使用上面的3d引擎制作2d游戲。
學(xué)習(xí)什么編程最好?
孩子學(xué)編程,推薦Scratch。
“最適合的”編程語(yǔ)言,真的存在嗎?
其實(shí)選擇哪種編程語(yǔ)言不是重點(diǎn),激發(fā)孩子的學(xué)習(xí)興趣,培養(yǎng)孩子的邏輯思維,掌握編程思想,學(xué)會(huì)用編程的方式去發(fā)現(xiàn)問(wèn)題和解決問(wèn)題才是重點(diǎn)。
如果孩子能夠熟練掌握編程中變量、條件、循環(huán),還有函數(shù)等基本的編程概念,并以一種語(yǔ)言編程成功,這時(shí)再用另一種語(yǔ)言來(lái)編程就不難了。
轉(zhuǎn)換編程語(yǔ)言雖然不像打個(gè)響指那樣容易,但只要了解了其他語(yǔ)言的語(yǔ)法就能快速上手,因?yàn)榫幊痰暮诵牟辉谟谡Z(yǔ)法,而是解決問(wèn)題的思路和方法(算法)。
因此,我們推薦零基礎(chǔ)的孩子,先從 Scratch 語(yǔ)言開(kāi)始學(xué)起。
有的家長(zhǎng)不理解,覺(jué)得:
“那種拖塊看起來(lái)像玩游戲,不如 Python、C++ 這樣的代碼編程語(yǔ)??級(jí),對(duì)于孩子太簡(jiǎn)單了。””現(xiàn)在是人工智能時(shí)代,直接讓孩子從Python學(xué)習(xí),以后前景更好。““讓孩子學(xué)習(xí)C++,以后考個(gè)信奧對(duì)升學(xué)有幫助!”
其實(shí)語(yǔ)言并沒(méi)有高級(jí)低級(jí)之分,只是各自應(yīng)用的場(chǎng)景不同,盲目追求編程語(yǔ)言的復(fù)雜度,是不可取的。
對(duì)于一名零基礎(chǔ)的孩子來(lái)說(shuō),培養(yǎng)編程的興趣很重要,直接上手代碼編程不是不可以,只是這樣的學(xué)習(xí)會(huì)讓孩子覺(jué)得枯燥,容易打消他們學(xué)習(xí)編程的積極性,甚至產(chǎn)生抵觸。
如果真的想讓孩子學(xué)習(xí)編程,那么他的學(xué)習(xí)路徑應(yīng)該是循序漸進(jìn)的,孩?剛開(kāi)始接觸編程時(shí),重要的有 2 點(diǎn)。
?是容易上手,讓孩?能?編程做出東西,體會(huì)到編程的樂(lè)趣,培養(yǎng)孩子對(duì)編程的興趣。?是把精力盡量用在學(xué)習(xí)編程邏輯上,而不是編程語(yǔ)言的語(yǔ)法上。因?yàn)榫幊踢壿嫞攀蔷幊痰暮诵模嬲憻捤季S的東西,而編程語(yǔ)?只是我們?yōu)榱送瓿赡康氖褂玫?具。
Scratch的 4 個(gè)特點(diǎn),?常好地滿(mǎn)?了這 2 點(diǎn)要求。
(1)Scratch特點(diǎn)1:入門(mén)容易
Scratch使?了圖形化的呈現(xiàn),通過(guò)拖拽代碼塊進(jìn)?編程,過(guò)程很像搭建“電?積?”,對(duì)剛接觸編程的孩?來(lái)說(shuō),上?容易、門(mén)檻低。
Scratch與Python、C++對(duì)比
從上?這張圖我們可以看出Scratch更直觀易懂,?Python、C++則需要具備打字能力,和?定的英?基礎(chǔ)。
尤其C++,語(yǔ)法相當(dāng)復(fù)雜,還有很多與編程邏輯?關(guān)的繁瑣細(xì)節(jié)。由于C++語(yǔ)法過(guò)于復(fù)雜,很多孩子學(xué)C++時(shí)理解不了它的語(yǔ)法,導(dǎo)致孩?只能抄代碼,沒(méi)有實(shí)際獨(dú)立創(chuàng)作的能力,最終連邏輯也沒(méi)能學(xué)習(xí)到。
這就像我們想教孩子學(xué)騎車(chē),但我們?開(kāi)始就給了他一輛摩托車(chē),本想為他提供便利,可孩?騎不好摩托,結(jié)果最后連自行車(chē)也沒(méi)學(xué)會(huì)。而如果我們?開(kāi)始給孩?騎自行車(chē),他是能學(xué)會(huì)的,再上手摩托車(chē)就容易多了。因此,一開(kāi)始就把入門(mén)門(mén)檻抬得太高,導(dǎo)致孩子入不了門(mén),后續(xù)的學(xué)習(xí)就更困難了!
(2)Scratch特點(diǎn)2:及時(shí)反饋
孩?使?Scratch時(shí),點(diǎn)擊單個(gè)代碼塊,就能看到“移動(dòng)”、“轉(zhuǎn)向”、“切換造型”等代碼效果;通過(guò)?些簡(jiǎn)單的操作就能完成?個(gè)小故事、節(jié)?賀卡、?游戲?類(lèi)的作品。
這能讓孩?在剛接觸編程時(shí),就體會(huì)到??創(chuàng)造出作品的成就感,獲得精神上的?勵(lì),更容易激起孩子的學(xué)習(xí)興趣,有信心迎接后續(xù)的挑戰(zhàn)。
(3)Scratch特點(diǎn)3:避免了代碼語(yǔ)法錯(cuò)誤
Python和C++之所以讓?感覺(jué)?Scratch難,是因?yàn)镻ython/C++的代碼語(yǔ)法更繁瑣,在完成?個(gè)相同邏輯難度的作品時(shí),Python/C++?起Scratch,需要花費(fèi)更多的時(shí)間在解決語(yǔ)法問(wèn)題上。
過(guò)早學(xué)習(xí)代碼語(yǔ)言無(wú)形中浪費(fèi)了很多時(shí)間,俗話(huà)說(shuō):“思考5分鐘,找茬2小時(shí)。”?如,把英?的分號(hào)寫(xiě)成了中?的分號(hào)、把雙引號(hào)?成了單引號(hào)、少寫(xiě)了?半括號(hào)等都會(huì)造成程序報(bào)錯(cuò),無(wú)法正常運(yùn)行。
而這些繁瑣的語(yǔ)法問(wèn)題,對(duì)孩?理解編程核?邏輯并沒(méi)有任何幫助,卻總是需要孩?花費(fèi)時(shí)間去解決,就像是我們?cè)?路時(shí),總得花很多時(shí)間去倒掉鞋??的???,?因此忽略了沿途的風(fēng)景。
?Scratch是?拖拽代碼塊的?式來(lái)編程的,從根本上就不需要孩?去關(guān)注拼寫(xiě)錯(cuò)誤、標(biāo)點(diǎn)錯(cuò)誤等?意義的語(yǔ)法問(wèn)題,極大減輕了孩子對(duì)編程的挫敗感,而讓他們留有更多時(shí)間全??專(zhuān)注于理解編程邏輯上,這才是對(duì)鍛煉思維真正有?的部分。
另外,由于Scratch把編程的常規(guī)語(yǔ)句都做成了代碼塊,孩?只需要根據(jù)??梳理好的編程邏輯挑選符合要求的代碼塊拖拽就能使?,不???一個(gè)字一個(gè)字地敲出來(lái),大大提高了孩子的學(xué)習(xí)效率。
(4)Scratch特點(diǎn)4:高上限
有的家長(zhǎng)看到Scratch語(yǔ)法簡(jiǎn)單,就誤以為Scratch只能做出簡(jiǎn)單的作品。其實(shí)編程的核?是邏輯和算法,編程語(yǔ)?只是?具,作品的復(fù)雜度是由編程邏輯決定的,?不是由?具決定的。
現(xiàn)在很多熱門(mén)軟件和游戲,雖然它們本身不是?Scratch開(kāi)發(fā)的,但同樣可以?Scratch還原出來(lái),實(shí)現(xiàn)相同的效果。
另外,Scratch對(duì)于創(chuàng)新的鼓勵(lì)以及在圖像創(chuàng)作、聲音編輯和項(xiàng)目混制方面的功能優(yōu)化,讓它在成為各年齡段孩子首選編程語(yǔ)言上變得理所當(dāng)然。
較之被稱(chēng)為“編程語(yǔ)言”,它更希望被定位為一個(gè)繪圖工具,一個(gè)動(dòng)畫(huà)制作工具,或是一個(gè)故事與游戲創(chuàng)作工具。
學(xué)習(xí)了Scratch孩子,更愿意去嘗試代碼編程,因?yàn)樗麄冇X(jué)得那意味著長(zhǎng)大,只有“真正的編程”才會(huì)被行業(yè)采納。
至于Python 和 Scratch 哪一個(gè)更適合小孩子學(xué)習(xí)。我的回答是:低年級(jí)的孩子建議學(xué) Scratch,初中左右可以考慮直接學(xué) Python。因?yàn)?Scratch 的圖形化更能激發(fā)學(xué)習(xí)的興趣,而 Python 的好處在于,以后可以拿來(lái)真刀真槍的做項(xiàng)目,甚至養(yǎng)家糊口。
但其實(shí)在任何年齡,如果你不是那么急切地想掌握一門(mén)實(shí)用語(yǔ)言,Scratch 都是值得花時(shí)間嘗試的。雖然它的初衷是給小孩子用的,但也完全適合一個(gè)對(duì)計(jì)算機(jī)毫無(wú)基礎(chǔ)的成人用來(lái)了解編程思想和開(kāi)發(fā)流程。
在 reddit 有這樣一個(gè)帖子:
大意就是:一個(gè)網(wǎng)友說(shuō),如果你完全沒(méi)有編程經(jīng)驗(yàn),強(qiáng)烈推薦從 Scratch 開(kāi)始入手。
他自己就通過(guò)學(xué)習(xí)一陣子之后,很快做出了一個(gè)自己的游戲,這給他繼續(xù)學(xué)習(xí)編程帶來(lái)了很大的動(dòng)力。
另一個(gè)網(wǎng)友評(píng)論說(shuō),有不少會(huì)一點(diǎn)編程的人會(huì)瞧不起 Scratch,覺(jué)得它算不上一門(mén)語(yǔ)言。
但事實(shí)上,很多編程初學(xué)者因?yàn)楦悴磺遄兞俊⒀h(huán)、函數(shù)等概念而放棄。
而真正在編程時(shí),我們 90% 是在處理邏輯和解決問(wèn)題,而不是去生搬概念。
如果從邏輯出發(fā)來(lái)教授編程,那么可能對(duì)于學(xué)習(xí)者來(lái)說(shuō)是更合適的。如果你理解了程序背后的邏輯,之后再學(xué)習(xí)其他語(yǔ)言也是很容易的。
以上就是關(guān)于關(guān)于編程的小游戲和學(xué)習(xí)游戲編程需要學(xué)什么的相關(guān)問(wèn)題解答,希望對(duì)你有所幫助。