游戏开发筑基之特殊输入函数的妙用(C语言)

C语言的其他输入函数及妙用

主要包括getche()、getch()字符输入函数,用于获取一个字符。
这两个函数主要区别在控制台上有无回显输入。(注:均无需按下回车键即可触发)

1.getch() 无回显输入

示例:

//#include <conio.h>
char c2 = _getch();//无回显,无需按下回车键
putchar(c2);

2.getche() 有回显输入

示例:

//#include <conio.h>
char c2 = _getche();//有回显,无需按下回车键
putchar(c2);

3.妙用

  在控制台游戏中,通常执行某一游戏时,为确保游戏体验,需保持不卡顿,即畅通。而面临的问题在操作游戏对象时,即键盘输入字符时,不管是通用的getchar()、gets()、scanf()甚至以上介绍的getche()、getch(),均会在输入时,产生阻塞,导致游戏卡顿。

  此时引用函数kbhit(),主要用途是监听键盘输入(按下),按下任意键返回1,否则返回0。在再结合以上介绍的两个特殊输入函数getche()、getch()。可以实现良好的用户体验,不产生阻塞(卡顿)。
示例如下:

//#include <conio.h>
	while (1)
    {
        //_kbhit() 如果有键盘按下则返回1 否则返回0
        if (_kbhit())
        {
            char a = _getch(); // 阻塞(卡顿)
            putchar(a);
        }
        else {
            printf("正常执行\n");
        }
        Sleep(500);
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ufgnix0802

总结不易,谢谢大家的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值