iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
自我挑戰組

Scratch 3 從入門到精通系列 第 17

Day 17 ( 中級 ) 立體空間 ( 三度空間 )

立體空間 ( 三度空間 )

教學原文參考:立體空間 ( 三度空間 )

這篇文章會介紹,如何在 Scratch 3 裡使用重複無限次、邏輯判斷、數學計算、尺寸設定...等積木,實作一個簡單的立體空間效果,越靠近角色,則角色尺寸愈大,越遠離角色,則角色尺寸越小。

相關文章參考:重複邏輯判斷數學計算尺寸設定

背景設定

點選「選個背景」,在舞台加入一張立體空間的背景 ( 在預設「太空」類別中 )。

Scratch 3 教學 - 立體空間 ( 三度空間 )

積木程式原理

編輯當綠旗被點擊時,使用重複無限次積木,讓貓咪角色定位在滑鼠的位置 ( 跟隨滑鼠移動 )。

Scratch 3 教學 - 立體空間 ( 三度空間 )

從左側積木清單建立一個變數 size。

Scratch 3 教學 - 立體空間 ( 三度空間 )

設定 size 為「x 座標的絕對值 x 0.7」,並將尺寸設定為 size 大小

舞台中心點的 x 座標為 0,左右兩側分別是 -240 和 240,使用絕對值會讓數值為正,乘以 0.7 是避免尺寸太大。

Scratch 3 教學 - 立體空間 ( 三度空間 )

點擊綠旗執行後,用滑鼠在舞台左右移動,會發現貓咪越往中心靠近,尺寸越小,越往左右兩側移動,尺寸越大

Scratch 3 教學 - 立體空間 ( 三度空間 )

不過如果只有水平方向 ( x 軸 ),會發現貓咪不論在上方或下方,靠近中間都會變小,為了修正這個問題,必須加入垂直方向 ( y 軸 ) 的判斷。

  • 加入「如果...那麼」積木,判斷如果「y 座標 x 1.33 的絕對值」大於「x 座標的絕對值」,就以「y 座標 x 1.33 的絕對值」為主
  • 加入第二個「如果...那麼」積木,判斷如果「x 座標的絕對值」大於「y 座標 x 1.33 的絕對值」,就以「y 座標 x 1.33 的絕對值」為主

因為 Scratch 舞台比例為 480x360 的 4:3 比例,所以將 y 座標乘以 1.33 ( 4 除以 3 ),就會得到和 x 座標接近的數值。

Scratch 3 教學 - 立體空間 ( 三度空間 )

完成效果

完成後,點擊綠旗,用滑鼠在舞台上移動,就會看見立體空間的貓咪,越靠近邊緣越大 ( 感覺靠近螢幕 ),越靠近中心越小 ( 感覺遠離螢幕 )。

Scratch 3 教學 - 立體空間 ( 三度空間 )

範例解答

範例解答:立體空間 ( 三度空間 )

延伸練習

如果已經熟悉了立體空間 ( 三度空間 )的原理,還可以嘗試更多好玩的作法:

  • 嘗試改變貓咪的「亮度」,讓立體空間效果更明顯。( 解答 )

關於我

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!


上一篇
Day 16 ( 中級 ) 水底探照燈
下一篇
Day 18 ( 中級 ) 地球繞著太陽轉
系列文
Scratch 3 從入門到精通46

尚未有邦友留言

立即登入留言