当前位置:主页 > 查看内容

控制台动画完善

发布时间:2021-05-29 00:00| 位朋友查看

简介:键盘交互4 文章目录 一.引言 二.完善哪些内容 1.光标 ①代码 ②函数介绍 2.色彩 ①代码 ②函数介绍 ③案例实现 3.声音 ①实现 ②注意点 一.引言 作为一个初学者当你厌倦了枯燥乏味非黑即白的控制台界面想不想让它变得五彩缤纷 当你沉浸在debug的海洋心烦意乱……

键盘交互(4)

一.引言

作为一个初学者,当你厌倦了枯燥乏味,非黑即白的控制台界面,想不想让它变得五彩缤纷?

当你沉浸在debug的海洋心烦意乱,这时如果你喜欢的音乐从你的程序中蹦出,想必会有如同仙乐耳暂明的感觉吧…

这些,可以在在一个小小的控制台实现吗?

那就,一起来,完善这个单调的控制台界面吧👉

二.完善哪些内容

在我上一篇文章中,移动句号的过程中,你可能会发现有光标在闪,那么怎么来消除掉这个光标呢?windows提供了函数

还有上面的想让界面变得多彩,想让程序张嘴唱歌,都可以实现

1.光标

①代码

光标通过gotoxy可以移动到坐标处

下面两个函数可以实现光标的隐藏与显示

//隐藏光标
void hide_cursor()
{
	HANDLE	h_GAME = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO cursor_info;
	GetConsoleCursorInfo(h_GAME,&cursor_info); 
	cursor_info.bVisible=false;					//不显示光标
	SetConsoleCursorInfo(h_GAME,&cursor_info); 
}

//显示光标
void show_cursor()				
{
	HANDLE	h_GAME = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO cursor_info;
	GetConsoleCursorInfo(h_GAME,&cursor_info); 
	cursor_info.bVisible=true;					//显示光标
	SetConsoleCursorInfo(h_GAME,&cursor_info); 
}

②函数介绍

在网上找到了这位大佬的文章,写的非常详细,大家可以参看https://www.cnblogs.com/szitcast/p/10923499.html#00-%E7%9B%AE%E5%BD%95

2.色彩

①代码

//设置文本颜色
void color(int a)
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}

②函数介绍

? 可以参看百度百科https://baike.baidu.com/item/SetConsoleTextAttribute/570121?fr=aladdin

③案例实现

#include<windows.h>
#include<iostream>
using namespace std;

void color(int a)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);

}
int main()
{
    int i;
    for(i=0;i<128;++i)
    {
        color(i);
        cout<<i<<"--hello!"<<endl;
    }

    return 0;
}

3.声音

①实现

我当时参看了这几位大佬的文章

https://blog.csdn.net/Legends_Never_Die/article/details/81030169?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161676391916780357257283%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161676391916780357257283&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-81030169.pc_search_result_before_js&utm_term=codeblocks%E6%92%AD%E6%94%BE%E9%9F%B3%E4%B9%90&spm=1018.2226.3001.4187

https://blog.csdn.net/qq_40456669/article/details/82748901?ops_request_misc=&request_id=&biz_id=102&utm_term=PlaySound&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-7-82748901.pc_search_result_before_js&spm=1018.2226.3001.4187

下面是我的代码

#include<iostream>
#include<windows.h>
#include<Mmsystem.h>
#pragma comment(lib,"winmm.lib")
using namespace std;

int main()
{

    PlaySound(TEXT("C:\\Users\\86171\\Desktop\\temp\\ADle.wav"),NULL,SND_FILENAME | SND_ASYNC);
    cin.get();
	return 0;
}

②注意点

一定要是wav文件

给大家推荐个免费的音频格式转换(不止音频转换功能)的网站😏

https://www.media.io/online-tools.html

;原文链接:https://blog.csdn.net/qq_52431436/article/details/115534879
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:H264码流分析和打包RTP过程 下一篇:没有了

推荐图文


随机推荐