本节讲解如何实现按空格键让小球向上飞,完整代码参见配套资源中的2-3-2.cpp,扫描右侧二维码观看视频效果“2.3 按空格键让小球向上飞”。
2.3 按空格键让小球向上飞
_kbhit()函数可以响应键盘的输入,当有键盘输入时返回1,否则返回0。在2-3-1.cpp中,当用户按下某个键时,执行if (_kbhit())内的语句。首先获得用户输入的字符,并存储在变量input中,如果用户按下的是空格键,则输出提示文字。
2-3-1.cpp
1 #include <graphics.h> 2 #include <conio.h> 3 #include <stdio.h> 4 int main() 5 { 6 while (1) // 一直循环 7 { 8 if (_kbhit())// 当按键时 9 { 10 char input = _getch(); // 获得输入字符 11 if (input == ' ') // 当按下空格键时 12 printf("按下了空格!\n"); 13 } 14 } 15 return 0; 16 }
在2-2.cpp小球的自由落体程序中添加下方代码,实现按下空格键后小球向上运动(赋予小球一个向上的初速度)。
2-3-2.cpp
24 while (1) // 一直循环 25 { 26 if (_kbhit()) // 当按键时 27 { 28 char input = _getch(); // 获得输入字符 29 if (input == ' ') // 当按下空格键时 30 bird.vy = -10; // 给小球一个向上的速度 31 }