实现效果如图:

代码如下:

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<string.h>
//按钮属性
typedef struct Button
{int x;int y;int xx;int yy;COLORREF color;char* buttonstr;
}*LPBTN;
//按键封装
LPBTN createButton(int x, int y, int xx, int yy, COLORREF color, const char* buttonstr)
{LPBTN button = (LPBTN)malloc(sizeof(LPBTN));button->x = x;button->y = y;button->xx = xx;button->yy = yy;button->color = color;button->buttonstr = (char*)malloc(sizeof(char));strcpy(button->buttonstr, buttonstr);return button;
}
//绘制按钮
void drawButton(LPBTN button)
{setfillcolor(button->color);//设置当前设备填充颜色fillrectangle(button->x, button->y, button->xx, button->yy);setbkmode(TRANSPARENT); //设置透明背景setlinecolor(BLACK);//设置画线颜色settextstyle(30, 0, "楷体"); //设置图形文本当前字体、字符大小outtextxy(button->x + 15, button->y + 10, button->buttonstr);//输出图形文本字符串
}
//鼠标是否在按钮上
int isInButton(LPBTN button, MOUSEMSG m)
{if (button->x <= m.x && button->xx >= m.x && button->y <= m.y && button->yy >= m.y){return 1;}return 0;
}
/*---------鼠标作用前面呈现颜色------------*/
void buttonAction(LPBTN button, MOUSEMSG m)
{if (isInButton(button, m)){button->color = RED;}else{button->color = BLUE;}
}
int main()
{//调用绘制按钮函数LPBTN play = createButton(300, 200, 450, 250, BLUE, "开始游戏");LPBTN pause = createButton(300, 260, 450, 310, BLUE, "暂停游戏");LPBTN resume = createButton(300, 320, 450, 370, BLUE, "继续游戏");LPBTN close = createButton(300, 380, 450, 430, BLUE, "退出游戏");initgraph(800, 500);IMAGE picture;loadimage(&picture, "background.jpg", 800, 500);putimage(0, 0, &picture);MOUSEMSG m;while (1){BeginBatchDraw();//批量绘图,消除屏幕闪烁/*-----------绘制按钮样式----------*/drawButton(play);drawButton(pause);drawButton(resume);drawButton(close);m = GetMouseMsg();//获取鼠标信息
/*---------鼠标作用前面呈现颜色------------*/buttonAction(play, m);buttonAction(pause, m);buttonAction(resume, m);buttonAction(close, m);EndBatchDraw();}getch();closegraph();return 0;
}

C/C++——游戏界面设置(graphics)相关推荐

  1. cf游戏介绍模板html,《穿越火线CF》游戏界面设置详细介绍

    <穿越火线CF>游戏界面设置详细介绍 一.画面设置 大家在这个窗口里面可以对游戏的画面进行设置,具体每项的含义如下: 1.画质调整: 玩家可以根据自身的机器硬件状况选择上.中.下不同的画质 ...

  2. 实验五 数独游戏界面设置

    实验5 数独游戏界面设计 [目的] 实现数独游戏的完整界面设计 [要求] 1       显示与隐藏ActionBar 2      使用ActionBar显示OptionMenu的菜单项MenuIt ...

  3. rust中文补丁steam_腐蚀rust游戏界面设置中文翻译图介文绍

    rust新版本自杀指令是:F1里输入 kill. 1.<腐蚀Rust>是由Facepunch Studios公司采用Unity 3D制作的一款第一人称生存网络游戏,目前可以建设个人服务器. ...

  4. 《飞机大战》安卓游戏开发源码(三)

    为什么80%的码农都做不了架构师?>>>    本文章属于原创性文章,珍惜他人劳动成果,转载请注明出处:http://www.pm-road.com/index.php/2014/1 ...

  5. 【C/C++小游戏】见缝插针(EasyX 图形库)

    目录 游戏简介 开始编写 1 预编译 2 初始化 全局变量 初始化函数 3 插入新的针 检测键盘 新的针 判断游戏失败 CreatePin 函数 4 移动针 5 绘制屏幕 针 圆 得分 按钮 Draw ...

  6. 用Python实现坦克大战游戏 | 干货贴

    作者 | 李秋键 出品 | AI科技大本营(rgznai100) <坦克大战>是1985年日本南梦宫Namco游戏公司在任天堂FC平台上,推出的一款多方位平面射击游戏.游戏以坦克战斗及保卫 ...

  7. python谁是卧底游戏流程图_虎牙小程序—谁是卧底 |明星互动游戏

    主播连麦,观众互动每次都是唱歌跳舞聊天,你是否有为直播内容无吸引力而担心? 别担心!最经典的明星互动游戏"谁是卧底"终于来了,主播直播连麦就可以玩! 最重要的是!!!观众也可参与到 ...

  8. html+css+javascript实现小游戏2048(详解,附源代码)

    html+css+javascript实现小游戏2048(详解,附源代码) 1.上下左右的移动原理相同,这里只详细说明向上移动的方法 2.这里的上下左右由wasd四个键控制 3-小方块空的意思就是没数 ...

  9. Android 3D 魔方游戏的设计与开发

    Android 3D 魔方游戏的设计与开发 5.1 Feature 定义 魔方是一个有趣的益智游戏,相信很多人都玩过.本次毕业设计,欲完成的主要的功能如下: (1) 开始游戏:开始一个新的游戏 (2) ...

最新文章

  1. hdu1728 广搜
  2. IS-IS路由协议 总结
  3. 图片怎么等比缩放_mac图像缩放工具Teorex iResizer
  4. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第七天(非原创)
  5. Socket的getInputStream()方法
  6. Enterprise Library 4.1 快速上手(图)
  7. 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句...
  8. .net 创建计划任务开机后自动以管理员身份启动运行 win7 ~ win10
  9. eclips断点调试
  10. python配置文件模块_Python解析配置文件模块:ConfigPhaser
  11. c语言习题答案解析,C语言习题及答案1
  12. chrom浏览器flash_flash插件
  13. d3.js v5 数据加载
  14. System.setOut()重定向输出解释
  15. Sklearn_LearningCurve
  16. 【案例28】银行对账单管理-在线下载优化记录
  17. html 用户名限制,js对输入用户名的限制
  18. Android中的IPC方式
  19. CEM计算电磁学 -- Lecture 1 学习笔记 (2) --- 极化、反射、透射
  20. Java项目:基于Java药品管理系统(计算机毕业设计)

热门文章

  1. 脚本下载安装及其使用,Tampermonkey脚本网站使用(Tampermonkey真是宝藏,偷偷看)
  2. 隐马尔模型----四
  3. spss安装剩下一个python_SPSSPython脚本在spss命令内部时停止并出现错误spss.提交()将创建一个警告...
  4. ios 编译时报 Could not build module xxx 的解决方法尝试
  5. Sequelize ORM
  6. powerbi服务器性能分配,Power BI 报表服务器容量计划指南
  7. 数据库的概念模型与关系模型的设计与实现
  8. 科普 | 四大显示器接口,你真的懂吗?
  9. php45 上海北诺,Bio-Gel P6 生物胶P100 Bio-Rad 150-1940
  10. 跟着老猫来搞GO,集跬步而致千里