2017-10-29 24 views
6

Tôi đang sử dụng bộ điều khiển Wiimote làm thiết bị đầu vào. Tôi đang sử dụng this wrapper cho các cuộc gọi/cuộc thăm dò HID.Unity 3D Phần mềm bên ngoài bỏ phiếu không đồng bộ trong Unity

Trong cảnh giới thiệu đi kèm với trình bao bọc này, bỏ phiếu kiểm soát được thực hiện trong sự kiện Update.

Trong nhiều trò chơi Wii, mục tiêu cực kỳ lên xuống nhanh chóng kích hoạt một hành động. Các wrapper chỉ ra cực đoan vị trí mục tiêu dọc (mà mục đích đi ra khỏi phạm vi/là "offscreen") như

Y=-1 

tôi đã cố gắng để phát hiện như một phong trào lên xuống nhanh chóng bởi

1) Detecting if aim is off-screen 
2) If yes, have a look if the aim is within the screen again 
3) Detect if aim is off-screen again and if all this happened in a certain time period 

Các tuy nhiên vấn đề là (tôi nghĩ do bản chất của việc bỏ phiếu chỉ trong sự kiện cập nhật), # 2) không nhất thiết phải xảy ra. Có thể là mục tiêu ở trên màn hình, nhưng bộ điều khiển không được thăm dò khi nó được.

Tôi muốn hỏi những gì có thể là giải pháp hợp lệ cho vấn đề này.

+0

Bước 2 có cần thiết không? Điều gì sẽ xảy ra nếu bạn chỉ phát hiện đầu tiên nếu mục tiêu nằm phía trên cạnh trên cùng của màn hình và sau đó kiểm tra lại để xem mục tiêu có nằm dưới cạnh dưới cùng của màn hình trong một khoảng thời gian nhất định hay không. Bạn có thể giới hạn các giới hạn bên trái và bên phải với chiều rộng của màn hình nếu bạn cần một trường chuyển động được xác định rõ hơn. – ryeMoss

+0

Bạn có hỏi điều này vì đó là vấn đề thực tế bạn đang gặp phải không? Sự kiện cập nhật của bạn diễn ra chậm như thế nào ?? – Mars

Trả lời

2

Cuộc thăm dò ý kiến ​​của bạn sẽ khá tệ vì đây là vấn đề, nhưng ngoài việc tăng tỷ lệ bỏ phiếu, bạn không thể thực hiện bất kỳ điều gì ở đây.

Tùy chọn duy nhất khác sẽ là sử dụng con quay hồi chuyển hoặc gia tốc thay thế (xin lỗi, không bận tâm để kiểm tra xem trình bao bọc của bạn có cho thấy trình bao bọc đó không). Về cơ bản, bạn có thể kết hợp một lắc thẳng đứng khắc nghiệt với các điểm được tắt màn hình, nhưng nếu bỏ phiếu của bạn là một vấn đề trong giải pháp ban đầu, nó vẫn sẽ có thể là một vấn đề ở đây quá.