2011-11-21 25 views
6

Tôi đã xem tài liệu mạng cho Unity và hầu hết các ví dụ dường như liên quan đến việc kết nối trò chơi của bạn với nhiều người chơi. Tôi chỉ đang tìm cách lấy một phản hồi JSON từ một api để tự động tạo ra một trình đơn. Có một số ví dụ hay để thực hiện các cuộc gọi mạng đơn giản để nhận phản hồi từ máy chủ web không?Thực hiện cuộc gọi mạng đơn giản để truy xuất JSON trong Unity?

Cảm ơn

+0

Bạn đang cố gắng nhận điều này từ API web? Nếu vậy, bạn có thể muốn nhìn vào lớp WWW để thay thế. – Chris

+0

Đây là câu trả lời tôi đang tìm kiếm nhưng tôi không thể đánh dấu nó là đã được chấp nhận vì đó là nhận xét. Cảm ơn đã giúp đỡ. – Bobbake4

+0

Tôi đã mở rộng nó thành câu trả lời, chi tiết hơn một chút và một số liên kết trong trường hợp bất kỳ ai khác được hướng dẫn ở đây để biết thông tin. – Chris

Trả lời

2

Để truy cập API dựa trên web, cách dễ nhất là sử dụng lớp WWW trong Unity.

http://unity3d.com/support/documentation/ScriptReference/WWW.html

Hãy chắc chắn để kiểm tra tài liệu về việc sử dụng nó không đồng bộ, hoặc nó có thể chặn thực hiện trong khi chờ đợi cho máy chủ web để đáp ứng (hoặc không đáp ứng).

http://unity3d.com/support/documentation/ScriptReference/index.Coroutines_26_Yield.html

-8

Tôi muốn gọi wget $urlOfApi --header=Accept:application/json -O file.json và đọc trong file.json.

+0

Đây không phải là sự liên quan thống nhất hoặc thậm chí là C#. – tyoc213

+1

@ tyoc213 Chắc chắn, nhưng đó là cách tôi sẽ giải quyết vấn đề. Nếu bạn không thể sử dụng nhiều hơn một công cụ ... mà hút. –

+1

Chắc chắn không phải là cách để giải quyết vấn đề này. – newms87

3

Nếu bạn đang sử dụng C# và không nhắm mục tiêu Webplayer hoặc iOS, bạn có thể sử dụng HttpWebRequest và thư viện như Json.NET nếu bạn thích (nếu bạn có kinh nghiệm quá khứ với các lớp này). Bạn có thể sẽ cần phải dành thêm một chút thời gian để xử lý yêu cầu một cách không đồng bộ.

Ngoài ra còn có Unity's WWW class nơi bạn sẽ kiểm tra và phân tích thuộc tính kết quả text. Lớp WWW có lợi thế là yêu cầu mã rất ít để thực hiện yêu cầu không đồng bộ.

Lưu ý rằng nếu không yêu cầu như vậy một cách không đồng bộ, bạn có thể dễ dàng chặn tiến trình trong phần còn lại của vòng lặp trò chơi, điều này hầu như không hề mong muốn.

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