01/10/2018, 14:24

Cho em hỏi về hàm GetAsyncKeyState?

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 ạ?

rogp10 viết 16:39 ngày 01/10/2018

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.

Tao Không Ngu. viết 16:27 ngày 01/10/2018

Hi DarkMagic.
Bạn định làm gì ?
http://www.cplusplus.com/forum/windows/6632/

DarkMagic viết 16:34 ngày 01/10/2018

À cảm ơn bạn nhiều

DarkMagic viết 16:25 ngày 01/10/2018

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

Tao Không Ngu. viết 16:28 ngày 01/10/2018

Hi DarkMagic.
GetAsyncKeyState

  1. Get là hàm trả về giá trị hoặc trạng thái.
  2. 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ộ).
  3. Key đối tương lấy thông tin là một nút ấn.
  4. 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.

amazon.com

SFML Game Development

Jan Haller, Henrik Vogelius Hansson, Artur Moreira

If you've got a firm grasp of C++ with a secret hankering to create a great game, this book is for you. Every practical aspect of programming an interactive game world is here - the only real limit is ...

3.6 out of 5 stars, ISBN: 978-1849696845, Packt Publishing, June 24, 2013, $44.99

Văn Dương viết 16:30 ngày 01/10/2018

Chắc do code sai. Chứ chưa bị thế bao giờ.

Bài liên quan
0