2013-07-30 39 views
10

Làm cách nào để sử dụng Clojure-CLR trên Unity3d?Làm cách nào để sử dụng Clojure-CLR trên Unity3d?

+0

thể trùng lặp của [Làm thế nào trưởng thành là clojure-clr? Tôi có thể sử dụng nó với Mono không?] (Http://stackoverflow.com/questions/6073848/how-mature-is-clojure-clr-can-i-use-it-with-mono) – Sylwester

+0

Bạn có thể xem xét việc mở rộng câu hỏi này không để hỏi điều gì đó cụ thể hơn một chút? –

Trả lời

10

Câu trả lời phức tạp là "có thể bạn có thể", câu trả lời thực dụng là "không, bạn không thể".

Sylwester đề nghị đây là bản sao sử dụng nó với Mono, điều này không thực sự đúng, bởi vì Unity sử dụng nĩa Mono của riêng mình (một cái rất cũ ... 2.6?), Nên cái gì đó tương thích với Mono đã thắng không nhất thiết phải có khả năng tương thích với Unity.

ClojureCLR yêu cầu DLR (mặc dù chúng đã di chuyển ra khỏi nó), có nghĩa là nó không tương thích với Unity, vì DLR yêu cầu Mono 2.8+.

Điều đó nói rằng có thể thêm DLR làm phụ thuộc và để biên dịch ClojureCLR thành .dll và truy cập từ Unity, đây là những gì tôi đã làm, tuy nhiên kinh nghiệm của tôi là tôi có thể nhận được nhiều mã để chạy tốt trong môi trường phát triển, nhưng khi tôi xây dựng trò chơi, mọi thứ sẽ bị phá vỡ, nó sẽ chỉ bỏ qua những thứ của Clojure.

Nếu Unity chuyển sang phiên bản cao hơn của Mono hoặc ClojureCLR loại bỏ sự phụ thuộc vào DLR, tôi không thấy bất kỳ lý do nào Unity không thể hỗ trợ nó và tôi rất mong chờ nó. Nhưng hiện tại, nó không thực tế.

Nếu một công việc xung quanh tồn tại (và có thể có), tôi chưa bao giờ tìm ra được.

+0

Cảm ơn bạn rất nhiều vì câu trả lời của bạn rất hữu ích :) – darkavenger

+1

Điều đáng lưu ý là ClojureCLR có kế hoạch loại bỏ DLR: http://clojureclr.blogspot.com/2012/06/clojureclr-14-released-with-code -gen.html - có một chi nhánh nodlr trong clojure-clr github repo, nhưng nó không phải là chủ. Điều đó đang được nói, nó rất dễ dàng để thả các dll 3 DLR vào thư mục tài sản. Không cần phải biên dịch lại ClojureCLR hay bất cứ thứ gì. – gregschlom

3

Những người trong cộng đồng Clojure đã nhận được thứ gì đó hiệu quả.

Từ @swannodette "Có vẻ như @ra và @timsgardner có Clojure chạy bên trong Unity đêm qua"

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

+1

Đây là liên kết đến repo githup của họ: https://github.com/nasser/clojure-unity - Tôi đã thử mã và thấy nó tương đối dễ dàng để gọi hàm Clojure từ một tệp C# trong Unity, nhưng nó chỉ là một kiểm tra nhanh, không phải thử nghiệm quy mô lớn. – gregschlom

+1

Vị trí repo mới, https://github.com/arcadia-unity/Arcadia. GitHub đang chuyển hướng ngay bây giờ nhưng có thể dừng lại ở một thời điểm nào đó trong tương lai. –

Các vấn đề liên quan