Tôi chưa lập trình trò chơi trong khoảng 10 năm (Trải nghiệm cuối cùng của tôi là DJGPP + Allegro), nhưng tôi nghĩ tôi sẽ xem XNA cuối tuần để xem nó hình thành như thế nào.Lập trình trò chơi và xử lý sự kiện
Tôi khá ấn tượng, tuy nhiên khi tôi tiếp tục ghép nối với nhau một công cụ trò chơi, tôi có một câu hỏi cơ bản (có thể).
Bạn nên dựa vào các đại biểu và sự kiện của C# để thúc đẩy trò chơi? Là một lập trình viên ứng dụng, tôi sử dụng rất nhiều đại biểu và sự kiện, nhưng tôi không biết liệu có một chi phí đáng kể để làm như vậy hay không.
Trong công cụ trò chơi của mình, tôi đã thiết kế một loại "chase cam", có thể được gắn vào một đối tượng và sau đó tính toán lại vị trí của nó so với đối tượng. Khi đối tượng chuyển động, có hai cách để cập nhật cam đuổi theo.
- Có phương thức "UpdateCameras()" trong vòng lặp trò chơi chính.
- Sử dụng trình xử lý sự kiện và yêu cầu cam theo dõi đăng ký đối tượng.OnMoved.
Tôi đang sử dụng sau, vì nó cho phép tôi kết nối các sự kiện với nhau và tự động hóa độc đáo các bộ phận lớn của động cơ. Đột nhiên, những gì sẽ là rất lớn và phức tạp được giảm xuống đến một số ít 3-5 xử lý sự kiện dòng ... Một vẻ đẹp của nó.
Tuy nhiên, nếu trình xử lý sự kiện kích hoạt mỗi giây nano lần lượt là sự chậm lại lớn, tôi sẽ xóa nó và đi theo phương pháp vòng lặp.
Ý tưởng?
Tôi đã nhận thấy điều đó. Đó là một thế giới nhỏ bé nhỏ. – FlySwat