cherries是我設計制作的一個圖形編程語言夷都。
在此之前彭沼,我了解過一些在工具之上的可視化腳本陷遮,比如說virtools的buildingblock, unreal的blueprint
它們都很有趣蟀架,但他們是針特定領域的功能,缺失一些我希望的功能李命。于是我自己實現(xiàn)了一個。我希望它像(cherries)一樣可口箫老。
從hello world開始
(這里封字,通過觸發(fā)器,構(gòu)造程序的流程耍鬓,以消息的方式阔籽,傳遞數(shù)據(jù)(雖然這個例子里沒表現(xiàn)出這一點(流汗) )
系統(tǒng)里提供基本的組件(block),也可構(gòu)建封裝新的block牲蜀,比如說這整一張圖就是一個新的block)
資源瀏覽器
如同unix的哲學笆制,在環(huán)境里,將所有類型稱之為資源涣达,使用統(tǒng)一可視化表示在辆,程序本身证薇,也是一種資源,程序內(nèi)部匆篓,也有獨立的資源環(huán)境浑度。
(不僅僅是目錄瀏覽,在hello world那個例子里的視圖鸦概,也是一個瀏覽頁面箩张,block可以鏈接跳轉(zhuǎn)。)
算法
(注意到那個紅色的鏈接符號了嗎完残,它表示同一個block實體伏钠,實現(xiàn)了循環(huán)功能)
(流程圖形化的一個問題是,對于復雜的結(jié)構(gòu)谨设,容易產(chǎn)生更種飛線熟掂,可怕的形狀,因此我設計了一個方式可以解開)
游戲編輯器
(實現(xiàn)一個稍復雜的邏輯扎拣,需要抽象化赴肚,層次構(gòu)造,以上說過二蓝,block可以有局獨立的資源結(jié)構(gòu)誉券,這里的幾個block,跳轉(zhuǎn)到內(nèi)部刊愚,做更細致的實現(xiàn))
target到不同的游戲平臺
(和文本編程語言一樣踊跟,圖形化的編程語言也應該是通用的,能夠嵌入到不同的運行時中鸥诽,我這里偷了點懶商玫,通過跨進程的方式與unity交互)
我希望它盡可能地有通用性,并可定制到特定領域里牡借,