BIÊN TẬP:
Vui lòng xem câu trả lời của @ Bluescrn cho câu hỏi này; ông xây dựng các điểm yếu trong việc phát lại các điều khiển thay vì các vectơ chuyển động hoặc vị trí.
-
Bạn đang đi đúng hướng. Đây là cách tiếp cận tôi sử dụng:
Bộ điều khiển
Tạo một lớp Trình điều khiển nhận đầu vào bàn phím và chuyển nó vào nhân vật của bạn. Tuy nhiên, cũng có một bản ghi Bộ điều khiển chính xác khi các phím quan trọng (ví dụ như mũi tên, nhảy, v.v.) được nhấn và khi chúng được phát hành. Nó sẽ lưu trữ loại thông tin này:
actions[0].milliseconds = 400 actions[0].action = right pressed
actions[1].milliseconds = 1000 actions[1].action = jump pressed
actions[2].milliseconds = 1300 actions[2].action = jump released
actions[3].milliseconds = 2500 actions[3].action = jump pressed
actions[4].milliseconds = 3000 actions[4].action = jump released
actions[5].milliseconds = 5330 actions[5].action = right released
Bộ điều khiển có hai chế độ:
- Ghi: Nhận đầu vào bàn phím. Ghi lại đầu vào trong danh sách. Đưa tay nhập ký tự dựa trên trạng thái bàn phím.
- Phát lại: Bỏ qua đầu vào bàn phím. Tiến bộ thông qua danh sách theo mili giây trôi qua kể từ khi cấp độ bắt đầu. Đưa tay nhập ký tự dựa trên trạng thái bàn phím đã ghi tại thời điểm hiện tại.
Nhân vật
Khi đối tượng Nhân vật của bạn được xây dựng, nó sẽ tạo một Trình điều khiển mới cho chính nó. Nhân vật có thể ở một trong hai chế độ bất cứ lúc nào:
- Hoạt động: Chỉ có một Nhân vật hoạt động và đó là nhân vật bạn điều khiển. Khi Nhân vật ở chế độ Hoạt động, Bộ điều khiển của nó ở chế độ Ghi. Theo mặc định khi một Nhân vật được xây dựng, nó ở chế độ Hoạt động.
- Ghost: Đây là một trong đó phát lại hành động trong quá khứ của bạn. Khi một Nhân vật vào chế độ Ghost, nó sẽ thay đổi diện mạo và đặt Bộ điều khiển thành chế độ Phát lại.
Cấp độ
Một cấp độ mới bắt đầu
Khi bạn bắt đầu cấp độ, tạo một Nhân vật duy nhất. Bây giờ cấp độ bắt đầu và người chơi làm việc của mình.
Khi thời gian đặt lại
Khi cấp độ đặt lại, làm ba điều:
- Nói với nhân vật hoạt động hiện tại để vào chế độ Ghost.
- Tạo một nhân vật mới.
- Gọi tất cả các nhân vật để thiết lập lại chính họ. Điều này sẽ đặt chúng trở lại vị trí bắt đầu mà không có chuyển động, v.v. Họ sẽ lần lượt nói với Bộ điều khiển của mình để đặt lại về mili giây 0 mà không cần nhấn phím.
Sau đó, cấp độ bắt đầu và người chơi làm việc của mình.