2013-07-30 3 views
10

Wie kann ich Clojure-CLR auf Unity3d verwenden?Wie kann ich Clojure-CLR auf Unity3d verwenden?

+0

möglich Duplikat von [Wie reifen clojure-clr ist? Kann ich es mit Mono verwenden?] (Http://stackoverflow.com/questions/6073848/how-mature-is-clojure-clr-cani-use-it-with-mono) – Sylwester

+0

Könnten Sie diese Frage erweitern? um etwas genaueres bitten? –

Antwort

10

Die komplexe Antwort ist "vielleicht kannst du", die pragmatische Antwort ist "Nein, du kannst nicht".

Sylwester schlug vor, dies ist ein Duplikat der Verwendung mit Mono, die nicht wirklich wahr ist, weil Unity seine eigene Gabel von Mono verwendet (eine, die sehr alt ist ... 2.6?), Also etwas, das mit Mono kompatibel ist Sie müssen nicht unbedingt mit Unity kompatibel sein.

ClojureCLR benötigt das DLR (obwohl es sich davon entfernt hat), was bedeutet, dass es nicht mit Unity kompatibel ist, da das DLR Mono 2.8+ erfordert.

Das heißt, es ist möglich, die DLR als eine Abhängigkeit hinzuzufügen, und ClojureCLR zu .dlls kompilieren und darauf von Unity zugreifen, das ist, was ich tat, aber meine Erfahrung war, dass ich viel von meinem Code ausführen konnte Gut in der Entwicklungsumgebung, aber wenn ich das Spiel bauen würde, würde alles kaputt gehen, es würde einfach das Clojure-Zeug ignorieren.

Wenn Unity zu einer höheren Version von Mono wechselt oder ClojureCLR die Abhängigkeit vom DLR aufhebt, sehe ich keinen Grund, warum Unity es nicht unterstützen könnte, und ich freue mich darauf. Aber im Moment ist es nicht praktisch.

Wenn ein Workaround existiert (und es wahrscheinlich tut), habe ich es nie geschafft, es herauszufinden.

+0

Vielen Dank für Ihre Antwort sehr hilfreich :) – darkavenger

+1

Gut zu wissen, dass ClojureCLR plant, den DLR loszuwerden: http://clojureclr.blogspot.com/2012/06/clojureclr-14-released-with-code -gen.html - im clojure-clr github repo gibt es einen nodlr-Zweig, aber es ist noch nicht in master. Davon abgesehen ist es sehr einfach, die 3 DLR-DLLs in den Assets-Ordner zu legen. Keine Notwendigkeit, ClojureCLR oder irgendetwas neu zu kompilieren. – gregschlom

3

Leute in der Clojure-Community haben etwas zum Laufen gebracht.

Von @swannodette "Sieht aus wie @ra und @timsgardner Clojure innerhalb der Einheit gestern Abend läuft bekam"

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

+1

Hier ist der Link zu ihrem Githup Repo: https://github.com/nasser/clojure-unity - Ich habe den Code ausprobiert und fand es relativ einfach Clojure Funktionen aus einer C# Datei in Unity aufzurufen, aber es war nur ein Schnelltest, kein großangelegtes Experiment. – gregschlom

+1

Neuer Repo-Standort, https://github.com/arcadia-unity/Arcadia. GitHub leitet gerade um, kann aber irgendwann in der Zukunft stoppen. –

Verwandte Themen