資訊內(nèi)容
10分鐘用scratch寫一個(gè)大魚吃小魚的小游戲
第一次給張江小朋友教scratch課程之前,還在擔(dān)心一些概念能不能向小朋友解釋清楚,可上完課發(fā)現(xiàn),我嚴(yán)重低估了小朋友的聰明程度,發(fā)現(xiàn)現(xiàn)在的孩子相比較自己8、9歲的時(shí)候,簡(jiǎn)直聰明太多倍了。
所以總結(jié)了半天,想著干脆來個(gè)有分量一點(diǎn)的項(xiàng)目,寫一個(gè)scratch版的大魚吃小魚游戲。
游戲完成界面如上圖,其中藍(lán)色的小魚受我們方向鍵的控制左右上下移動(dòng),食物鏈順序是大鯊魚 -> 主角(藍(lán)色小鯊魚)-> 其他小魚。其他小魚每隔10秒在屏幕隨機(jī)位置生成,然后一直橫向移動(dòng),碰到邊界就反彈。大鯊魚每30秒隨機(jī)產(chǎn)生在屏幕左側(cè),游到右側(cè)消失。
藍(lán)色鯊魚吃到小魚時(shí),小魚消失,同時(shí)自己切換到一個(gè)張開嘴的動(dòng)作上,然后切換回來,同時(shí)身體變大一點(diǎn),碰到大鯊魚則游戲結(jié)束。
在完成復(fù)雜項(xiàng)目的時(shí)候,最重要的是將事情分解成小目標(biāo),比如先完成小魚的隨機(jī)生成,再賦予其游動(dòng)的邏輯,如法炮制大鯊魚,然后再加上碰撞邏輯的處理。
首先看小魚的生成
這里重復(fù)100次,每隔10秒就生成一條小魚。而新生成的小魚,擁有這樣的邏輯。
這里面的代碼,在1-4間取隨機(jī)數(shù),然后切換到相應(yīng)造型,是因?yàn)榍袚Q不同樣子的小魚。
然后調(diào)整大小到50%,設(shè)置水平運(yùn)動(dòng)方式,并且設(shè)置如果碰到主角,則發(fā)送消息 hit.
同理大鯊魚的邏輯也是類似。
只不過運(yùn)動(dòng)方式是從屏幕左側(cè)開始移動(dòng),并且如果碰到主角,則發(fā)送“gameover”消息。
而主角的邏輯處理中就不一樣了,首先要接收處理前面兩種碰撞事件。
上面定義了,碰到小魚時(shí)怎樣切換到對(duì)應(yīng)的張開嘴的動(dòng)作,和碰到大鯊魚時(shí)結(jié)束游戲。
另外再加上主角的方向鍵按鍵處理。
這樣,一個(gè)scratch版本的大魚吃小魚游戲就完成了,想想看確實(shí)挺簡(jiǎn)潔的,比flash腳本要簡(jiǎn)單太多了。?
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除
