Em dùng hàm GetAsyncKeyState trong vòng lập while (true) nhưng mà khi ấn phím một lần thì giống như nó bị đè phím, nó thực hiện rất nhiều lần câu lệnh em viết khi bắt phím đó. Vậy giờ làm sao để sửa ạ?
Dùng hàm GetAsyncKeyState trong vòng lặp while (true)
Phải delay chứ bạn sleep(100); //100ms
Thực ra bạn nên bắt event chứ ko nên đọc key.
2 Likes
À cảm ơn bạn nhiều
Mình định làm trò chơi trên console nhưng mà chưa hiểu rõ mấy cái hàm nhận phím này lắm
Hi DarkMagic.
GetAsyncKeyState
- Get là hàm trả về giá trị hoặc trạng thái.
- Async là hàm bất đồng bộ nghĩa là thay vì nó lock lại (hàm scanf) đợi khi đọc một ký tự thì nó kiểm tra có ký tự nòa không và trả về luôn. (Bạn xem các tài liệu đồng bộ và bất đồng bộ).
- Key đối tương lấy thông tin là một nút ấn.
- State trạng thái của nút đó ấn hay không được ấn,
P/S Nếu làm game thì bạn có thể bắt đầu với SFML luôn.
1 Like
Chắc do code sai. Chứ chưa bị thế bao giờ.
1 Like