2013-07-30 37 views
10

如何在Unity3d上使用Clojure-CLR?如何在Unity3d上使用Clojure-CLR?

+0

可能重複?我可以用Mono嗎?](http://stackoverflow.com/questions/6073848/how-mature-is-clojure-clr-can-i-use-it-with-mono) – Sylwester

+0

你能否考慮擴大這個問題問一些更具體的東西? –

回答

10

複雜的答案是「也許你可以」,實用的答案是「不,你不能」。

Sylwester認爲這是與Mono一起使用它的副本,這並不是真的,因爲Unity使用它自己的Mono分叉(一個很老的... 2.6?),所以與Mono兼容的東西贏得了不一定與Unity兼容。

ClojureCLR需要DLR(儘管它們已經離開它),這意味着它與Unity不兼容,因爲DLR需要Mono 2.8+。

這表示可以將DLR作爲依賴項添加,並將ClojureCLR編譯爲.dlls並從Unity訪問它,這是我所做的,但是我的經驗是我可以獲得大量代碼來運行在開發環境中很好,但是當我構建遊戲時,一切都會中斷,它會忽略Clojure的東西。

如果Unity轉向更高版本的Mono,或者ClojureCLR擺脫了對DLR的依賴,我看不到任何Unity Unity無法支持它的原因,我積極地期待它。但目前來看,這並不實際。

如果解決方法存在(它可能會),我從來沒有設法弄清楚。

+0

非常感謝你的回答非常有幫助:) – darkavenger

+1

很好的注意,ClojureCLR確實計劃擺脫DLR:http://clojureclr.blogspot.com/2012/06/clojureclr-14-released-with-code -gen.html - clojure-clr github回購中有一個nodlr分支,但它尚未在master中。這就是說,將3個DLR dlls放入Assets文件夾非常容易。無需重新編譯ClojureCLR或任何東西。 – gregschlom

3

Clojure社區的人已經得到了一些工作。

從@swannodette 「貌似@ra和@timsgardner昨晚的Clojure內統一運行」[如何成熟是Clojure的-CLR的

http://f.cl.ly/items/2T2d340o0k0W2d44212G/clj2.gif

+1

這裏是他們的githup repo的鏈接:https://github.com/nasser/clojure-unity - 我試過了代碼,發現從Unity的C#文件調用Clojure函數相對容易,但它只是一個快速測試,而不是一個大規模的實驗。 – gregschlom

+1

新回購地點,https://github.com/arcadia-unity/Arcadia。 GitHub現在正在重定向,但可能會在未來某個時候停止。 –