Scratch是麻省理工的“終身幼兒園團(tuán)隊(duì)”(Lifelong Kindergarten Group)開發(fā)的圖形化編程工具,主要面對(duì)青少年開放。下面就來(lái)說說如何在scratch中編制打磚塊游戲,大家千萬(wàn)別錯(cuò)過。 ?
?
如何在scratch中編制打磚塊游戲 ?
步驟1 創(chuàng)建角色 ?
1打開Scratch軟件,進(jìn)入它的工作界面,將貓這個(gè)角色刪除; ?
2用鼠標(biāo)左鍵單擊“從角色庫(kù)中選取角色”, ?
3創(chuàng)建球:在角色庫(kù)中選擇物品,選擇Baseball,確定;這個(gè)軟件漢化不徹底,如果你看著覺得不爽,英文好的話,就直接用英文版吧。 ?
4創(chuàng)建磚塊:用繪制角色的方法創(chuàng)建磚塊; ?
5在角色Baseball上按鼠標(biāo)右鍵,選擇info,出現(xiàn)角色的信息面板,顯示角色的名字,當(dāng)前所在位置的坐標(biāo)值,方向等; ?
6將角色1名字改為氣球,改完按左邊的小箭頭返回角色列表,再將角色2改為磚塊; ?
步驟2 編寫腳本 ?
1在角色面板點(diǎn)球,給它添加腳本; ?
2在角色面板點(diǎn)磚塊,給它添加腳本; ?
3復(fù)制磚塊,覆蓋上面的屏幕,我們發(fā)現(xiàn)復(fù)制磚塊的時(shí)候,腳本代碼也一起復(fù)制了,太好了!! ?
4用同樣復(fù)制的方法再增加第二行磚塊,可以改變第二行磚塊的顏色,方法是選擇磚塊6,點(diǎn)中間的造型,選擇好顏色后用油漆桶工具改變填充色;復(fù)制磚塊,并將它們?cè)诘诙信帕泻?跟*行一樣,我就不用再做了; ?
步驟3 運(yùn)行程序 ?
點(diǎn)按綠旗開始運(yùn)行,點(diǎn)按紅色按鈕停止執(zhí)行。 ?
?
怎么用scratch實(shí)現(xiàn)打磚塊游戲 ?
1、決定會(huì)出現(xiàn)在游戲畫面中的角色 ?
球(ball)–球可以隨時(shí)改顏色; ?
磚塊(brick)–不同顏色及不同分?jǐn)?shù)的磚塊; ?
磚塊反彈的平臺(tái)(bar)–因?yàn)槌缘讲煌臇|西而會(huì)改變外形,如變長(zhǎng)、變短…… ?
2、游戲規(guī)則 ?
透過滑鼠來(lái)改變Bar的位置,但必須控制其水平移動(dòng),也就y的值要固定。 ?
按下滑鼠來(lái)發(fā)射球; ?
球在碰到墻就反彈; ?
碰到磚塊後磚塊就隱藏并加分; ?
全部的Brick就不見就過到第二關(guān); ?
也可限定時(shí)間及球數(shù); ?
吃到不顏色的磚塊會(huì)掉下不同的東西,而這些東可以改變Bar的外形。 ?
(1)反彈板的程式 ?
將反彈板的Y座標(biāo)固定,X座標(biāo)隨滑鼠改變,這樣就能讓反彈板只能水平移動(dòng) ?
(2)設(shè)計(jì)球程式 ?
如下圖,一樣是按下空白鍵時(shí)程式便開始執(zhí)行,但我們?cè)谏形窗l(fā)射球前,必須讓求跟著反彈板移動(dòng),程式如下: ?
將球的X座標(biāo)設(shè)定同反彈板的X座麼; ?
將球的Y座標(biāo)設(shè)定同反彈板的Y座麼,但必須加上一個(gè)值,因?yàn)榉磸棸逵泻穸?寬),球必須在其上,所以這個(gè)值要視你的反彈而定。 ?
偵測(cè)是否按下滑鼠,按下後,讓球面向上(0); ?
旋轉(zhuǎn)一個(gè)角度,可自由設(shè)定,一般是30-45度; ?
讓球一直移動(dòng),碰到邊緣就反彈; ?
(3)當(dāng)球碰到反彈板 ?
當(dāng)按下空白鍵后球便會(huì)被發(fā)射出去,但是碰到反彈反卻沒有反應(yīng),那是當(dāng)然的,因?yàn)槲覀儾艅傄獙戇@一部份,如下圖: ?
使用「如果」來(lái)判斷,當(dāng)球碰到反彈板就改變方向; ?
使用「180-方向」來(lái)處理; ?
反彈后先移動(dòng)10步,接著又會(huì)回到外層回圈,球便會(huì)一直移動(dòng); ?
(4)設(shè)計(jì)磚塊程式 ?
設(shè)定二個(gè)變數(shù):分?jǐn)?shù)及時(shí)間; ?
設(shè)計(jì)步驟: ?
程式一開始先顯示; ?
重復(fù)判斷是否被球打到; ?
如果被球打到就隱藏,然后將分?jǐn)?shù)加一分; ?
將程式碼復(fù)制到每一個(gè)磚塊; ?
(5)時(shí)間設(shè)定 ?
將這一部份的程式碼設(shè)計(jì)在背景; ?
將分?jǐn)?shù)歸零; ?
時(shí)間設(shè)定為30秒; ?
執(zhí)行回圈30次,每一次將時(shí)間減一沙。 ?
(6)結(jié)束程式 ?
上面內(nèi)容只分析了整個(gè)程式還有是否過關(guān)及判斷未碰到反彈板的部份?這是一大關(guān)鍵,如果你對(duì)這個(gè)游戲感興趣,不妨親自動(dòng)手設(shè)計(jì)一個(gè)打磚塊游戲,看到自己的成果,將會(huì)讓你感覺大不同。 ?
什么是scratch ?
“編程不應(yīng)該專屬于計(jì)算機(jī)天才,應(yīng)該適用于所有人?!边@是美國(guó)麻省理工媒體實(shí)驗(yàn)室負(fù)責(zé)人——Mitch Resnick教授的觀點(diǎn)。 ?
2007年5月,MIT實(shí)驗(yàn)室向公眾發(fā)布了一款全新的桌面視覺化編程工具——Scratch。Scratch將程序指令變?yōu)橐粋€(gè)個(gè)“積木塊”,使用者無(wú)需敲擊代碼或是背誦任何編程指令,只需要將積木塊拖拽并連接在一起,就可以很方便的進(jìn)行編程,從而快速制作出動(dòng)畫、游戲、交互程序。Scratch公開發(fā)布后,在全球的各個(gè)編程興趣社區(qū)里迅速流行開來(lái)。到目前為止,Scratch已經(jīng)擁有40多種語(yǔ)言的操作界面在超過150個(gè)*里被使用。在Scratch官方網(wǎng)站上,你可以看到將近兩千三百八十萬(wàn)的粉絲們上傳作品! ?
需要學(xué)習(xí)scratch嗎 ?
答:需要。Mitch教授曾將編程與閱讀拿來(lái)對(duì)比:人們不僅在學(xué)習(xí)閱讀和寫作,更是在閱讀和寫作中學(xué)習(xí)更多。同樣,孩子們不僅是在學(xué)習(xí)編程,而且是通過編程在學(xué)習(xí)。編程可以被看做是一種高效的主動(dòng)學(xué)習(xí)的方式。 ?
在教育領(lǐng)域,專業(yè)學(xué)者們也普遍認(rèn)為,與閱讀、表達(dá)、數(shù)學(xué)一樣,培養(yǎng)未來(lái)的人才,需要把編程看作孩子成長(zhǎng)所需的基礎(chǔ)技能之一來(lái)培養(yǎng)。在未來(lái),不論什么行業(yè),人們使用數(shù)字化設(shè)備和軟件來(lái)處理工作的需求會(huì)越來(lái)越大。這也需要未來(lái)的人才具備能夠借助計(jì)算機(jī)力量的“計(jì)算思維”(Computational Thinking),并具備與之關(guān)聯(lián)的能力。 ?