上海婚恋网站排名,苍南最好的网站建设公司,微营销网站建设,重庆环保公司网站建设1.帧率#xff1a;
即每秒钟界面刷新次数#xff0c;下面以60帧为例#xff1a;
1.数据类型 clock_t#xff1a;
用来保存时间的数据类型。
2.clock( ) 函数#xff1a;
用于返回程序运行的时间,无需参数。
3.例子#xff1a;
先定义所需帧率#xff1a;
const …1.帧率
即每秒钟界面刷新次数下面以60帧为例
1.数据类型 clock_t
用来保存时间的数据类型。
2.clock( ) 函数
用于返回程序运行的时间,无需参数。
3.例子
先定义所需帧率
const clock_t FPS 1000 / 60;
然后定义两个变量用于表示一次循环运行前后的时间再用Sleep函数休眠即可。 while (true){startTime clock();//balabalafreamTime clock() - startTime;if (freamTime FPS){Sleep(FPS - freamTime);}}
2.图片的加载和输出
1.定义图片变量
数据类型IMAGE保存图片的数据类型。
2.加载图片
1.loadimage函数:
将图片放到图片变量中。
loadimage(图片变量 , 图片地址图片宽度图片高度);
2.图片地址
1绝对路径
复制图片地址 --- 将所有 / 变为 // 防止转义
注如果图片格式不对打开画图拖进去后再另存为选择 jpg 格式即可。
2相对路径推荐通用性好
只要图片所在文件与 vs main.cpp 在一个路径下即可直接 “所在文件夹 \\ 图片名”。
3.输出图片
putimagex , y , 图片变量;
4.透明贴图
1先绘制掩码图
2在putimage函数中添加参数
掩码图为NOTSRCERASE原图为SRCERASE。
3将原图和掩码图输出到同一位置
例 //透明图贴图IMAGE img_plane[2];loadimage(img_plane, assets\\plane_mask.jpg);loadimage(img_plane 1, assets\\plane.jpg);putimage(50, 50, img_plane, NOTSRCERASE);putimage(50, 50, img_plane1, SRCERASE);
5.精灵表动画
首先需要一张包含全部动画帧的图片 然后设置切帧的参数 int imgSize 32;//每帧的尺寸int frames 7;//总共有多少帧int speed 200;//多少毫秒切换一张int index 0;//贴哪一张图
putimage函数有重载版本
void putimage(int dstX, int dstY, int dstWidth, int dstHeight,
const IMAGE *pSrcImg, int scrX, int scrY)
其中srcX和srcY是图片中坐标表示你要剪切的图片的左上角坐标。
综上即可实现动画 index (clock() / speed) % frames;putimage(250, 250, imgSize, imgSize, img_sheet, index * imgSize, 0);
3.播放音乐
1.头文件
首先需要包含头文件
#includestdio.h
#includeWindows.h
#includemmsystem.h
#pragma comment(lib,winmm.lib)
2.播放
使用 mciSendString 函数多媒体控制函数
我们只需要改变第一个参数其他置为0或NULL即可
先open音频路径再play音频路径 mciSendString(open assets/That-Girl.mp3, NULL, 0, NULL);mciSendString(play assets/That-Girl.mp3, NULL, 0, NULL);
3.音频地址起别名
音频可以用 alias 关键字起别名加在音频路径的后面 mciSendString(open assets/That-Girl.mp3 alias bgm, NULL, 0, NULL);mciSendString(play bgm, NULL, 0, NULL);
如上面bgm就是别名。
注如果同时播放两个音乐不能用同样的别名。
4.调整音量
将第一个参数改为
setaudio 音频地址 volume to 音量范围0-1000
mciSendString(setaudio bgm volume to 100, NULL, 0, NULL);
5.如果mciSendString调整失败如何查看错误
mciSendString函数有一个返回值返回MCIERROR类型成功返回零失败返回非0。
mciGetErrorString函数可将错误信息放进一个字符数组里。 MCIERROR ret mciSendString(setaudio bgm volume 100, NULL, 0, NULL);if (ret ! 0){char err[100] { 0 };mciGetErrorString(ret, err, sizeof(err));//获取错误信息puts(err);//打印错误信息}
6.循环播放
正常播放只播放一次如果想循环播放
在 play 的后面加一个 repeat注对音乐格式有要求
mciSendString(play bgm repeat, NULL, 0, NULL);
7.封装音乐播放函数
void playBackgroundMusic(const char* music,bool isrepeat false,int volume -1)
{static int i 0;//防止使用同一别名char cmd[100] { 0 };sprintf(cmd, open %s alias bgm%d, music,i);MCIERROR ret mciSendString(cmd, NULL, 0, NULL);if (ret ! 0){char err[100] { 0 };mciGetErrorString(ret, err, sizeof(err));//获取错误信息printf(open : %s, err);//打印错误信息return;}sprintf(cmd, play bgm%d %s,i,isrepeat?repeat:);//判断是否循环播放ret mciSendString(cmd, NULL, 0, NULL);if (ret ! 0){char err[100] { 0 };mciGetErrorString(ret, err, sizeof(err));//获取错误信息printf(play : %s, err);//打印错误信息return;}if (volume ! -1)//修改音量{sprintf(cmd, setaudio bgm%d volume to %d, i, volume);ret mciSendString(cmd, NULL, 0, NULL);if (ret ! 0){char err[100] { 0 };mciGetErrorString(ret, err, sizeof(err));//获取错误信息printf(setaudio : %s, err);//打印错误信息return;}}i;
} 文章转载自: http://www.morning.jlqn.cn.gov.cn.jlqn.cn http://www.morning.gbnsq.cn.gov.cn.gbnsq.cn http://www.morning.lqchz.cn.gov.cn.lqchz.cn http://www.morning.rkkh.cn.gov.cn.rkkh.cn http://www.morning.sxmbk.cn.gov.cn.sxmbk.cn http://www.morning.mlwpr.cn.gov.cn.mlwpr.cn http://www.morning.lsssx.cn.gov.cn.lsssx.cn http://www.morning.fldk.cn.gov.cn.fldk.cn http://www.morning.dywgl.cn.gov.cn.dywgl.cn http://www.morning.zdqsc.cn.gov.cn.zdqsc.cn http://www.morning.zkzjm.cn.gov.cn.zkzjm.cn http://www.morning.qscsy.cn.gov.cn.qscsy.cn http://www.morning.xpfwr.cn.gov.cn.xpfwr.cn http://www.morning.fncgw.cn.gov.cn.fncgw.cn http://www.morning.kphsp.cn.gov.cn.kphsp.cn http://www.morning.stflb.cn.gov.cn.stflb.cn http://www.morning.yqgny.cn.gov.cn.yqgny.cn http://www.morning.ktcrr.cn.gov.cn.ktcrr.cn http://www.morning.zrkp.cn.gov.cn.zrkp.cn http://www.morning.rzysq.cn.gov.cn.rzysq.cn http://www.morning.nstml.cn.gov.cn.nstml.cn http://www.morning.kbdjn.cn.gov.cn.kbdjn.cn http://www.morning.ywzqk.cn.gov.cn.ywzqk.cn http://www.morning.pgfkl.cn.gov.cn.pgfkl.cn http://www.morning.mkhwx.cn.gov.cn.mkhwx.cn http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn http://www.morning.bhxzx.cn.gov.cn.bhxzx.cn http://www.morning.mrlls.cn.gov.cn.mrlls.cn http://www.morning.mlgsc.com.gov.cn.mlgsc.com http://www.morning.kgjyy.cn.gov.cn.kgjyy.cn http://www.morning.htjwz.cn.gov.cn.htjwz.cn http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn http://www.morning.trwkz.cn.gov.cn.trwkz.cn http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn http://www.morning.dtrzw.cn.gov.cn.dtrzw.cn http://www.morning.mdpcz.cn.gov.cn.mdpcz.cn http://www.morning.hbkkc.cn.gov.cn.hbkkc.cn http://www.morning.jphxt.cn.gov.cn.jphxt.cn http://www.morning.bkylg.cn.gov.cn.bkylg.cn http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn http://www.morning.wzyfk.cn.gov.cn.wzyfk.cn http://www.morning.qwmpn.cn.gov.cn.qwmpn.cn http://www.morning.rrpsw.cn.gov.cn.rrpsw.cn http://www.morning.wfwqr.cn.gov.cn.wfwqr.cn http://www.morning.ysgnb.cn.gov.cn.ysgnb.cn http://www.morning.djpps.cn.gov.cn.djpps.cn http://www.morning.ctqbc.cn.gov.cn.ctqbc.cn http://www.morning.pmlgr.cn.gov.cn.pmlgr.cn http://www.morning.nytqy.cn.gov.cn.nytqy.cn http://www.morning.mqmmc.cn.gov.cn.mqmmc.cn http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn http://www.morning.jrhcp.cn.gov.cn.jrhcp.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.yxnfd.cn.gov.cn.yxnfd.cn http://www.morning.zkzjm.cn.gov.cn.zkzjm.cn http://www.morning.yjxfj.cn.gov.cn.yjxfj.cn http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn http://www.morning.ygmw.cn.gov.cn.ygmw.cn http://www.morning.ftntr.cn.gov.cn.ftntr.cn http://www.morning.fksdd.cn.gov.cn.fksdd.cn http://www.morning.glwyn.cn.gov.cn.glwyn.cn http://www.morning.zxdhp.cn.gov.cn.zxdhp.cn http://www.morning.qykxj.cn.gov.cn.qykxj.cn http://www.morning.flqbg.cn.gov.cn.flqbg.cn http://www.morning.bby45.cn.gov.cn.bby45.cn http://www.morning.bojkosvit.com.gov.cn.bojkosvit.com http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn http://www.morning.ydflc.cn.gov.cn.ydflc.cn http://www.morning.bqts.cn.gov.cn.bqts.cn http://www.morning.fysdt.cn.gov.cn.fysdt.cn http://www.morning.zpzys.cn.gov.cn.zpzys.cn http://www.morning.xkbdx.cn.gov.cn.xkbdx.cn http://www.morning.nqyfm.cn.gov.cn.nqyfm.cn http://www.morning.kybyf.cn.gov.cn.kybyf.cn http://www.morning.qkskm.cn.gov.cn.qkskm.cn http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn http://www.morning.dmrjx.cn.gov.cn.dmrjx.cn http://www.morning.xgmf.cn.gov.cn.xgmf.cn http://www.morning.thbnt.cn.gov.cn.thbnt.cn