Tôi đang phát triển một trò chơi bằng cách sử dụng bỏ phiếu cho phương thức nhập liệu. Tuy nhiên, bây giờ khi tôi đi sâu hơn vào các menu trò chơi và các thành phần UI khác, tôi thấy rằng có lẽ tôi muốn có đầu vào hướng sự kiện. Có lẽ thậm chí có cả hai, sử dụng sự kiện hướng đến UI và bỏ phiếu cho đầu vào "thế giới". Tôi tò mò về cách tốt nhất để đi là gì.
Tôi đang xác định bỏ phiếu là: mỗi vòng cập nhật Tôi kiểm tra các phím nào được nhấn, chuột ở đâu, các nút được nhấn, sau đó chạy qua chúng và thực hiện các hành động dựa trên thông tin được thu thập.
Tôi đang xác định sự kiện được định hướng là: các sự kiện dựa trên ngắt, khi một sự kiện xảy ra và ngắt được kích hoạt và một khối mã được chạy dựa trên sự kiện đó.
Bạn có nghĩ rằng tốt nhất là đi tất cả các sự kiện, tất cả các cuộc bỏ phiếu, hoặc là sự kết hợp của cả hai đều được chấp nhận? Nếu bạn có ưu và nhược điểm cho một trong hai xin vui lòng liệt kê chúng. Cảm ơn.
CHỈNH SỬA
Trò chơi dựa trên Java / OpenGL, do đó sẽ được phát hành cho Windows / Mac / Linux. Khả năng mở rộng điều đó cho các thiết bị di động là thấp. Trò chơi mang phong cách RTS, 3D người thứ 3.
CHỈNH SỬA 2
Tôi vẫn không hoàn toàn hài lòng với cách tôi đã thực hiện điều này, nhưng những gì tôi đang hướng tới là nắm bắt các sự kiện trong UI của mình và nếu chúng không được xử lý bởi bất kỳ thành phần UI nào của tôi, tôi chuyển sự kiện này sang "Thế giới" để chọn / lựa chọn. Cái gì đó như:
@Override
private boolean handleEvent(Event event) {
if(hud.handleEvent(event)) {
return true;
}
return WORLD.handleEvent(event);
}
Bằng cách này, tôi không nhận được các nhấp chuột bị rò rỉ thông qua giao diện người dùng để chọn các đối tượng phía sau các nút và những gì không.
Hiện tại các điều khiển máy ảnh của tôi vẫn dựa trên việc bỏ phiếu, và điều đó dường như đang hoạt động, nhưng tôi có thể cập nhật điều đó sau.
Tôi đánh giá cao tất cả các câu trả lời, xin lỗi tôi chỉ có thể chọn một!