Trả lời cho câu hỏi thực tế (Có phải vòng lặp trò chơi phải nằm trong một chuỗi riêng biệt):
Lý do mọi người thường khuyên bạn nên sử dụng một luồng riêng biệt là vì họ không muốn xử lý nặng để can thiệp vào tương tác UI. Bạn là người duy nhất có thể biết nếu một chủ đề riêng biệt là cần thiết cho trò chơi của bạn . Nó hoàn toàn phụ thuộc vào công cụ và khung nếu vòng lặp trò chơi chính trong thiết kế hiện tại của bạn có thể ảnh hưởng đến thời gian phản hồi của UI. Nghĩ rằng bạn thường cho rằng nó sẽ không (trong các dự án nhỏ) trừ khi bạn có lý do để nghĩ khác.
Một lý do khác để giữ mã trong các luồng riêng biệt là để giữ mã theo mô-đun và đơn giản. Có hai đoạn mã không liên quan trộn lẫn với nhau thường có thể khiến mã trở nên ít đọc và có thể duy trì trong thời gian dài.
Có phải một vòng lặp trò chơi cần phải chạy trên luồng riêng của nó không? Có khả năng. Nếu có vấn đề với thời gian phản hồi hoặc mã và bạn cần nhiều mục UI để phản hồi bất kể xử lý nặng hay đơn giản là bạn muốn chia mã thành các tác vụ cụ thể xảy ra đồng thời vì lý do thiết kế. Tuy nhiên, nó được coi là một thực hành lập trình tiên tiến .
Một ví dụ đơn giản nhưng có lẽ không phải là một ví dụ tuyệt vời để minh họa là một trò chơi hai người chơi. Bạn có thể muốn chạy hai phiên bản của một lớp xử lý đầu vào của người dùng và chuyển đổi sang trạng thái thay đổi trong thể hiện của ký tự người chơi.
Một số khung khuyến khích / yêu cầu bạn sử dụng và hệ thống dựa trên sự kiện / gián đoạn như ActionScript3.0. Trong những trường hợp đó, mã vòng lặp thường sẽ đi đến OnEnterFrame
sự kiện hoặc một cái gì đó tương tự xảy ra 20 - 60 hoặc 120 lần mỗi giây.
Trả lời câu hỏi ban đầu (Tôi có cần một vòng lặp chính):
Tất cả sôi sục xuống quầy chương trình . Nếu bạn đang tạo một trò chơi sẽ chạy nhiều hơn một khoảng thời gian định trước và sẽ không tạo mã khi nó diễn ra, bạn sẽ cần yêu cầu máy tính của người dùng của mình lặp lại một số hướng dẫn mà trò chơi đã xử lý và những gì có thể sẽ thay đổi trong Trong khi đó là trạng thái (các giá trị được lưu trữ trong các đối tượng và toàn cầu của trò chơi).
Vì bạn biết bạn sẽ cần lặp lại hướng dẫn, có một số cách để hoàn thành nhiệm vụ này và liên tục xử lý các hướng dẫn tương tự. Tất cả các phương pháp này liên quan đến việc di chuyển bộ đếm chương trình trở lại hướng dẫn hiện có liên quan. Các câu lệnh luồng điều khiển phổ biến nhất khiến mã được lặp lại được gọi là các vòng lặp, một goto
câu lệnh khác hiếm khi được sử dụng trong mã hiện đại và có tác dụng tương tự trong trường hợp này (hoàn toàn không liên quan đến bạn).
Vì vậy, để trả lời câu hỏi trước đây của bạn, bạn có cần một vòng lặp? Vâng, bạn làm.