cherries是我設(shè)計制作的一個圖形編程語言。
在此之前,我了解過一些在工具之上的可視化腳本,比如說virtools的buildingblock, unreal的blueprint
它們都很有趣,但他們是針特定領(lǐng)域的功能,缺失一些我希望的功能。于是我自己實現(xiàn)了一個。我希望它像(cherries)一樣可口。
從hello world開始
(這里,通過觸發(fā)器,構(gòu)造程序的流程,以消息的方式,傳遞數(shù)據(jù)(雖然這個例子里沒表現(xiàn)出這一點(流汗) )
系統(tǒng)里提供基本的組件(block),也可構(gòu)建封裝新的block,比如說這整一張圖就是一個新的block)
資源瀏覽器
如同unix的哲學(xué),在環(huán)境里,將所有類型稱之為資源,使用統(tǒng)一可視化表示,程序本身,也是一種資源,程序內(nèi)部,也有獨立的資源環(huán)境。
(不僅僅是目錄瀏覽,在hello world那個例子里的視圖,也是一個瀏覽頁面,block可以鏈接跳轉(zhuǎn)。)
算法
(注意到那個紅色的鏈接符號了嗎,它表示同一個block實體,實現(xiàn)了循環(huán)功能)
(流程圖形化的一個問題是,對于復(fù)雜的結(jié)構(gòu),容易產(chǎn)生更種飛線,可怕的形狀,因此我設(shè)計了一個方式可以解開)
游戲編輯器
(實現(xiàn)一個稍復(fù)雜的邏輯,需要抽象化,層次構(gòu)造,以上說過,block可以有局獨立的資源結(jié)構(gòu),這里的幾個block,跳轉(zhuǎn)到內(nèi)部,做更細致的實現(xiàn))
target到不同的游戲平臺
(和文本編程語言一樣,圖形化的編程語言也應(yīng)該是通用的,能夠嵌入到不同的運行時中,我這里偷了點懶,通過跨進程的方式與unity交互)
我希望它盡可能地有通用性,并可定制到特定領(lǐng)域里,