第五章

造型中心與物件碰撞

【造型中心】

新增一個物件(角色)在舞台上時,第一要考慮的是此物件的「造型中心」。為什麼呢?根據經驗,良好的造型中心,能避免很多之後意外情況的發生。例如:一物件定位在某位置,不停地旋轉,如右邊那個蘋果,這是我們程式想要的結果;左邊那個蘋果,則不是我們想要的旋轉,為什麼呢?因為造型中心不在蘋果的中心點!所以,要寫一個好程式,請建立起一個好習慣:當新增角色之後,第一要考慮角色的「造型中心」;適當的造型中心,能為程式帶來好的執行結果。

【造型中心疊合】

尤其是在考慮物件碰撞時,特別容易產生造型中心錯誤設置,帶來程式執行結果不合預期的情況。舉例來說:當範例程式中,按下「a」時,從大象的鼻子(大象鼻子標紅色的地方)射出一個向左的球。請問:如何設置大象及球的造型中心?

  • 大象的造型中心:鼻尖
  • 球的造型中心:球心

你答對了嗎? (可以試試看,定位到其他位置,看會有什麼結果!)

【兩物同時消失】

另,兩物件碰撞時,如何使兩物件同時消失;範例中最左的一組,沒有下任何指令,當然不會消失;左二組,雖然指令都對,但電腦執行的結果,只有蘋果消失,汽球沒有消失;而右邊的兩組程式均可以「同時」消失。請注意,第三組(從左邊笄起)使用了一種叫做「Frame Delay」的技巧,讓程式互相停留一下,好同時消失;而最後第四組(右一組)使用「廣播與接收」的語法,使得兩者可以幾乎同時消失。

***

專題─珍惜資源/潛水射魚

地球資源有限,捕魚時,要注意魚的大小;適當大小的魚才能捕,放掉正在成長的小魚、及產生的大魚。本專題為潛水漁夫射魚。潛水漁夫能上下左右移動,發射魚叉,碰到右邊界則消失,魚從右邊向左游動,有大有小,當適當大小的魚被射到時,捕魚數量變數加1, 如果射到小小魚或母魚,則扣5分。為了讓程式更好玩,可以設計...當魚接近漁夫一定距離時,會慌張四處逃竄。同時,漁夫要不停判斷魚的大小。海底不斷有氣泡上升,並有背景音樂。