Chúng tôi đang phát triển một trò chơi nhảy và chạy với HTML5 và JavaScript và phải xây dựng một khung trò chơi riêng cho việc này. Ở đây chúng tôi có một số khó khăn và muốn hỏi bạn một lời khuyên:
Chúng tôi có một đối tượng "Giai đoạn", đại diện cho gốc của trò chơi của chúng tôi và là một trình bao bọc div toàn cầu. Sân khấu có thể chứa nhiều "Cảnh", cũng là các yếu tố div. Chúng tôi sẽ triển khai Cảnh cho tác vụ phát, tạm dừng, v.v. và chuyển đổi giữa chúng. Do đó, mỗi cảnh có thể chứa nhiều "Lớp", đại diện cho một khung vẽ. Các lớp này chứa "ObjectEntities", đại diện cho hình ảnh hoặc các hình dạng khác như hình chữ nhật, v.v ... Mỗi Objectentity có tạm thời riêng của mình, để có thể vẽ hình ảnh cho một thực thể, trong khi một đối tượng khác chứa hình chữ nhật.
Chúng tôi đã đặt activeScene trong Giai đoạn của mình, vì vậy khi trò chơi được chơi, chỉ có cảnh hoạt động được vẽ. Gọi activeScene.draw()
, gọi tất cả các lớp con để vẽ, vẽ các thực thể của chúng (gọi drawImage(entity.canvas)
). Nhưng đây có phải là một loại thực hành tốt? Có nhiều bức tranh để vẽ? Mỗi vòng lặp trò chơi mỗi bối cảnh lớp được xóa và vẽ lại. Ví dụ: chúng ta chỉ có một Lớp nền tĩnh, thì sẽ không hữu ích hơn khi vẽ cái này một lần và không xóa nó mỗi lần và vẽ lại nó? Hoặc chúng ta nên sử dụng một bức tranh toàn cầu chẳng hạn trong Giai đoạn và chỉ sử dụng khung vẽ này để vẽ? Nhưng chúng tôi nghĩ rằng điều này sẽ đắt ...