当前位置: 首页 > news >正文

蜜雪冰城网站建设策划方案上海建设工程有限公司

蜜雪冰城网站建设策划方案,上海建设工程有限公司,梅州网络推广,网站建设开发技术类型hello大家好,这里是dark flame master,今天给大家带来Easyx图形库最后一节功能实现的介绍,前边介绍了绘制各种图形及键盘交互,文字,图片等操作,今天就可以使写出的程序更加生动且容易操控。一起学习吧&…

在这里插入图片描述

hello大家好,这里是dark flame master,今天给大家带来Easyx图形库最后一节功能实现的介绍,前边介绍了绘制各种图形及键盘交互,文字,图片等操作,今天就可以使写出的程序更加生动且容易操控。一起学习吧!
由于会用到前边的内容
专栏:Easyx趣味编程

正题:
EasyX提供了记录并判断玩家使用鼠标对窗体进行的操作,这些操作会放在操作列表中,等待被处理。

getmassage函数

getmassage函数是从消息列表中获取一个消息,并将该消息移除,程序会根据这条消息进行相关的响应。
在这里插入图片描述
这个函数有两次重载,但是功能相同
在这里插入图片描述
若getmessage()函数传入参数是-1,表示获取所有类型的消息。

如果不需要读取所有类型的消息,可以单独写某一种,或者利用|(或)运算符进行合并。

创建一个ExMessage变量
如果我们鼠标消息和键盘消息都想要,其他两种可以不读取

ExMessage msg;
msg = getmessage(EX_MOUSE | EX_CHAR);

ExMessage结构体如下
在这里插入图片描述
消息标识:传入的参数为鼠标消息就使用鼠标的结构体,传入参数是什么,就调用哪个结构体。
消息标识:
在这里插入图片描述
我们这节课只讲鼠标消息类型,所以只举例说明鼠标消息标识
 对照上表,实现鼠标移动时绘制一个半径为2的黑色的填充圆,左键按下绘制半径为20的蓝色填充圆,右键按下绘制黄色半径为50的填充五角星。
代码如下:

#include <stdio.h>
#include <easyx.h>
#include <stdlib.h>
#include <math.h>
#define Pai 3.14
int main()
{initgraph(800, 600);setbkcolor(WHITE);cleardevice();ExMessage msg;while (1){msg = getmessage(EX_MOUSE);switch(msg.message){case WM_MOUSEMOVE://在移动过程中setfillcolor(BLACK);solidcircle(msg.x, msg.y, 2);break;case WM_LBUTTONDOWN://在移动过程中setfillcolor(BLUE);solidcircle(msg.x, msg.y, 20);break;case WM_RBUTTONDOWN:setfillcolor(GREEN);int r = 50;//半径//初始角度double theta = Pai / 2;//递增角度double delta = 2 * Pai / 5;POINT points[5];//定义一个数组,存放点的坐标for (int i = 0; i < 5; i++){points[i].x = cos(theta + i * delta * 2) * r+msg.x;points[i].y = sin(theta + i * delta * 2) * r+msg.y;}setfillcolor(YELLOW);setpolyfillmode(WINDING);solidpolygon(points, 5);break;}}return 0;
}

运行后如图
在这里插入图片描述
 之前的操作都默认为单击事件,不论我们点击的有多快,都还是会判定为单击事件。
在创建窗体时,加上EX_DBLCLKS即可识别双击事件。

	initgraph(800, 600, EX_DBLCLKS);

要注意:EX_DBCLICKS这个版本已经不能在VS上使用了。
更改代码,双击出现五角星,左击蓝色圆,右击红色圆,左边双击黄色五角星。

	while (1){msg = getmessage(EX_MOUSE);switch(msg.message){case WM_MOUSEMOVE://在移动过程中setfillcolor(BLACK);solidcircle(msg.x, msg.y, 5);break;case WM_LBUTTONDOWN://在移动过程中setfillcolor(BLUE);solidcircle(msg.x, msg.y, 20);break;case WM_RBUTTONDOWN://在移动过程中setfillcolor(RED);solidcircle(msg.x, msg.y, 20);break;case WM_LBUTTONDBLCLK:setfillcolor(GREEN);int r = 50;//半径//初始角度double theta = Pai / 2;//递增角度double delta = 2 * Pai / 5;POINT points[5];//定义一个数组,存放点的坐标for (int i = 0; i < 5; i++){points[i].x = cos(theta + i * delta * 2) * r+msg.x;points[i].y = sin(theta + i * delta * 2) * r+msg.y;}setfillcolor(YELLOW);setpolyfillmode(WINDING);solidpolygon(points, 5);break;}}

运行后如图
在这里插入图片描述
音频播放
 v趣味化编程,只有画面可不行,我们要声色俱全,如果我们玩一个小游戏,一定会有相应的背景音乐。
认识一个新函数mciSendString

MCIERROR mciSendString(LPCTSTR lpszCommand,//命令字符串,如open,close,LPTSTR lpszReturnString,//接收返回信息的字符串,一般直接填NULLUINT cchReturn,//返回信息的长度,可以直接填零HANDLE hwndCallback,//回调窗口句柄,一般直接填NULL
);

在播放之前要将播放的歌曲放置在工程目录下。
在这里插入图片描述
当我们在使用时却会报错
在这里插入图片描述
这是因为这个函数在库winmm.lib中,默认情况下链接器不会输入这个库文件。
添加库winmm.lib
在这里插入图片描述
点击添加即可
在这里插入图片描述
在这里插入图片描述
将库添加即可
在这里插入图片描述
我们这里用到了汉语,所以要将字符集设置为未设置
在这里插入图片描述
代码如下

int main()
{mciSendString("open 及你太美.mp3", NULL, 0, NULL);//打开音乐,没有进行播放printf("打开音乐");getchar();mciSendString("play 及你太美.mp3", NULL, 0, NULL);//播放printf("播放音乐");getchar();mciSendString("pause 及你太美.mp3", NULL, 0, NULL);//暂停播放printf("暂停");getchar();mciSendString("resume 及你太美.mp3", NULL, 0, NULL);//继续播放printf("继续");getchar();mciSendString("stop 及你太美.mp3", NULL, 0, NULL);//停止播放printf("停止");getchar();mciSendString("close 及你太美.mp3", NULL, 0, NULL);//关闭音乐printf("关闭");getchar();return 0;
}

现在就可以实现一个坤坤播放器
创建窗体,将所用到的材料都放在工程目录里。
绘制坤坤.png作为背景
在这里插入图片描述
大概找出篮球的区域就可以编写程序了。
代码如下

int main()
{int key = 1;initgraph(600,600, EX_DBLCLKS);IMAGE img;//创建窗体loadimage(&img, "坤坤.png", 600, 600);putimage(0, 0, &img);mciSendString("open 及你太美.mp3", NULL, 0, NULL);//打开音乐,没有进行播放//如果我们点击篮球,就会播放歌曲ExMessage msg;while (key){msg = getmessage(EX_MOUSE);switch(msg.message){				case WM_LBUTTONDOWN://左击if (msg.x > 0 && msg.x < 600 && msg.y>450 && msg.y < 600){mciSendString("play 及你太美.mp3", NULL, 0, NULL);//播放}break;case WM_RBUTTONDOWN://右击if (msg.x > 0 && msg.x < 600 && msg.y>450 && msg.y < 600){mciSendString("pause 及你太美.mp3", NULL, 0, NULL);//暂停}break;case WM_LBUTTONDBLCLK://右键双击关闭音乐mciSendString("close 及你太美.mp3", NULL, 0, NULL);//关闭音乐key = 0;break;}}closegraph();return 0;
}

运行后点击左键播放,点击右键暂停,双击右键就关闭音乐结束程序。
这个小程序虽然很短,但已经运用了今天的大部分所学,希望大家能够理解。
本文结束啦,下文见!

http://www.15wanjia.com/news/156693.html

相关文章:

  • 太原cms建站北京网站建设dqcx
  • 投票网站建设临时工找工作网站做美缝
  • 郴州新网招聘网最新招聘信息快速优化排名公司推荐
  • 河北石家庄建设网站兰州装修公司
  • 公司网站应该怎么做抖音推广怎么收费
  • 怎么查网站开发的语言数商云医药
  • 网站建设营销策划方案网站开发设计注册
  • 成都营销型网站建设公司wordpress下载主题错误
  • 自己制作网站的方法是爱做网站外国
  • 手机商城网站如何wordpress缩略图设置
  • 浙江省建设厅网站网站建设如何描述
  • 做php网站教程视频教程高校招生网站建设
  • 济南app网站建设网站基本建设投资内容
  • 贵州建设厅培训中心网站汕头网络推广团队
  • 免费简历在线制作网站WordPress做分类信息
  • 网站去哪里备案网站制作与网页制作
  • 我想自己建个网站买货 怎么做读书网站建设策划书
  • 会员管理网站建设保定最大的网络公司
  • 建官方网站的公司网站建设要哪些人
  • 衡水住房和城乡建设局网站珠海建设网站的公司哪家好
  • 怎样做淘宝网站建设flash学习网站
  • wordpress 制作网站模板教程室内设计联盟手机版
  • 网站备案没了wordpress列表主题
  • 柳州建设公司网站来个网站吧好人一生平安2021
  • asp自助建站系统做网站哪个服务器好
  • 河北电子商务网站建设郑州企业名单
  • wordpress站内短信建筑规范网站
  • 商丘网站seo关键词设定在网站上
  • 山西建设工程备案网站刷网站排名软件
  • 适应移动端网站模板做淘宝网站用什么软件有哪些