哈希技術部落格


Slider

Scratch教學 – 碰到角色反彈

使用Scratch設計遊戲時,經常會用到「反彈」的效果。然而在Scratch中,只有「碰到邊緣就反彈」的積木。但有時候我們需要碰到角色也可以反彈的效果,例如球類遊戲…等等,這時候該如何製作出來呢?

今天,我們會分享如何在Scratch中設計出碰到角色反彈的效果。

什麼是反彈?

在Scratch中,角色移動的方向,都是透過角度去描述出來的。所以如果我們要設計反彈的效果,就需要去了解角色一開始的角度是多少,以及應該以多少的角度反彈出去。這樣的概念,其實就是「入射角」與「反射角」的概念

光的反射
圖片來源:光的反射

Scratch的角度

所以反彈的效果,我們可以透過「入射角」等於「反射角」的效果實現。但這邊要非常注意,因為Scratch中有獨特的角度描述,所以會看到負角度的情況,例如-90度。

面向正上方

面向右方

面向下方

面向左方

總結Scratch的角度,我們可以發現
順時鐘面向右側,角度是0-180。順時鐘面向左側,角度是-180->0。

設計反彈效果

上下反彈

面朝135進入,需要以45度反射

面朝45進入,需要以135度反射

上下反彈時,我們可以發現入射角與反射角剛好在0~180與0~-180的範圍內。
所以這時候我們以「180-入射角」,就可以得到反射的角度。

左右反射

面朝-135度進入,需要以135度反射。

面朝45度進入,需要以-45度反射。

所以左右反彈的情況,我們可以發現用0減角度,就可以得到反射的角度。

成果應用

了解反彈的效果後,我們就可以設計許多球類的運動遊戲囉。例如羽球、桌球、網球…等等,常常都會用到反射的效果!

作品範例:反彈球遊戲

作品範例:足球遊戲

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *