2012-07-03 48 views
6

Trong dự án Unity của tôi, tôi có 3 dự án visual studio: hội-CSharp-vs hội-CSharp-firstpass-vs hội-CSharp-Editor-vsvấn đề tham khảo Unity3d với các dự án C#

Tất cả các kịch bản của tôi dường như để kết thúc trong Assembly-CSharp-firstpass-vs, nhưng một tài sản được nhập khẩu tôi đang sử dụng (2dtoolkit) có mã trong Assembly-CSharp-vs ... Điều đó có nghĩa là tôi không thể truy cập mã này từ Assembly-CSharp- firstpass-vs, bởi vì không có tham chiếu đến Assembly-CSharp-vs (không có nghĩa vụ phải là một tham chiếu theo cách đó).

Vậy, cách "chính xác" để xử lý vấn đề này là gì? Tôi tưởng tượng rằng tôi phải di chuyển các tệp kịch bản của mình sang Assembly-CSharp-vs, hoặc tôi phải di chuyển các nguồn tài sản của mình sang Assembly-CSharp-firstpass-vs ..

Trả lời

4

Nếu kịch bản của bạn kết thúc bằng đầu tiên Assembly-CSharp Dự án -vs, nó có nghĩa là ở đâu đó trở lên trong hệ thống phân cấp thư mục của chúng, bạn có một thư mục có tên là "Plugins", "Standard Assets" hoặc "Pro Standard Assets". Điều này khiến cho các kịch bản của bạn được biên dịch trong 4 bước biên dịch đầu tiên có thể. Vì vậy, Unity do đó sẽ đặt các tệp mã của bạn trong dự án Assembly-CSharp-firstpass-vs.

Để có thể truy cập 2DToolkit từ mã của bạn, tôi khuyên bạn nên di chuyển tất cả tệp tập lệnh của bạn để chúng không được đặt trong bất kỳ thư mục nào trong số này. Điều này sẽ khiến chúng được đặt trong dự án Assembly-CSharp-vs.

Nếu bạn đang sử dụng C# nó sẽ hoạt động ngay bây giờ. Nhưng nếu bạn đã viết mã của riêng bạn trong UnityScript (JavaScript) hoặc Boo, bạn sẽ phải đặt 2DToolkit trong một thư mục có tên Plugins (hoặc "Standard Assets" hoặc "Pro Standard Assets" nếu bạn thích) để biên dịch trước mã của bạn .

Hãy xem trang Script compilation trong hướng dẫn Unity để biết thêm thông tin chi tiết về cách bạn có thể kiểm soát thứ tự biên dịch tập lệnh.

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