iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0

今天正式花時間了解Bolt。由於Bolt核心概念是以Flow Graph為主-也就是用方格和線來寫程式,故不可免俗的,如同了解其它編程語言一樣,先從幾個基本概念著手。

  • 四則運算
  • 邏輯和條件判定
  • 迴圈
  • 陣列(合集)

雖然Hello World是個經典的開始,但還是省略好了,反正一會兒就會有很多數值會從Unity的Console裡顯示出來,不差這個Hello World的字串。

四則運算

最基于的一外乎加減乘除的四則運算,這是所有程式語言的根本。從圖中可看出那二個常數是可以一直被引用的,並不需要為了四則運算而特定產生相同的四組常數。這點其實和一般的程式撰寫雷同,將之做為參考後可以隨時引用。而這些方塊且可以群聚起來,產生外圍最大的方塊並置於背景,這層外圍的大方塊可於左方的區域寫下如同註解的敘述,搭配不同的顏色,有效的提升識別度。

邏輯和條件判定

Bolt提供的邏輯有AND、OR和NEGATE,另有數字大小的比較。這次單純邏輯就只嘗試AND,利用傳統的布林數,True和False分別去看AND之後的值為何。這裡只是的快速確認它所提供哪些邏輯可用。但不做太多測試,畢竟這些結果是已知道,沒需要花太多時間。

而條件判定則嘗試了如同寫程式碼時很常會使用的If(此處稱Branch),它有二個出口,True和False就是對應著對、錯進入的判定。

另外測試的就是隨機數的取得,因為Random的使用範圍很廣,想即早確認其用法。在第一次使用Random時沒注意這樣的引用法會讓Random進行二次給值,所以拿去和5比較的值和呈現在Console裡的值不一樣,而產生9 < 5是True這樣奇怪的呈現(實際上比對的值是小於5的,不過是另一個值)。

導入了一個變數後將Random的值存於此變數,而後在比較和顯示時皆引用此變數,這樣,比對和顯示就一致了。而變數的使用上也和寫程式一般,要將其型別定義出來後才可以使用。

迴圈

Loop在任何類C語言的設計中,For和While是二大台柱,由於在遊戲設計中Loop是不可必免的,因此也針對For和While項如何在Bolt中實現,花了一些時間嘗試。

此為For迴圈在Bolt當中的實作,也直接的反應出像撰寫程式般的結構。

While 迴圈看起來就有些繁瑣,但多數的情況下While 迴圈比For可能還更加的實用,也是不可避免要了解的。

陣列(合集)

這裡選用了C#的List當做陣列型別,雖然和Array不太一樣,但仍可當動態陣列來用。嘗試了初始化,額外加入一個物件,和找尋是否有此物件(皆用Int簡化)。

對於平日習慣用程式碼解決問題的我來說,用方塊佐線條來詮釋是煞費了一番功夫才將幾行程式碼可以表達的功能完成。

而在這次的了解中為了避免過多的時間花費在顯示中,全數用Unity自有的Console進行顯示,讓嘗試集中在如何於Bolt中實現一般編程的基礎功能。不過在Unity中自有的的概念也必需融入,才能於開發時不會綁手綁腳。和Unity自有物件,功能的串接則會是接下來的重點。

今日測試用的專案放罝在Git Repo中的basic-bolt目錄裡。然Bolt這套擴充因License關係,不含在Sample中,如有興趣的開發者,需自行購買並載入Bolt至範例專案中。

通用的程式運行方式確定後,接下來就是要開始了解Unity自有框架中的使用如何於Bolt中展開。


上一篇
淺談Unity生態中的視覺化工具
下一篇
讓小方塊利用Bolt進行移動
系列文
探索Unity中的視覺化製作工具30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言