EGE图形的官方示例很完善了,但是有一部分没有说清楚.
介于一般使用EGE图形库的同学都是初学者所以稍微完善了一下注解方便大家理解.
#include <graphics.h> #include <stdio.h> int main() { initgraph(640, 480);//初始化窗体大小 setfont(18, 0, "幼圆");//(指定高度,字符的平均宽度,字体类型) for ( ; is_run(); delay_fps(60))//is_run()判断窗口是否允许;delay_fps()延迟以FPS为准的时间 { char str[32];//该字符串用来存储输出数据 int x, y; mousepos(&x, &y); /*获取鼠标坐标,此函数不等待。若鼠标移出了窗口,那么坐标值不会更新 特殊情况是,你按着鼠标键不放,拖出窗口,这样坐标值会依然更新*/ sprintf(str, "%4d %4d", x, y);//格式化输出为字符串,用于后面输出 outtextxy(0, 0, str);//(在屏幕位(0,0处开始输出文字)); } closegraph();//关闭窗体 return 0; }
关于几个函数的解释官方已经解释的很清楚了:文档地址
mousepos()的声明是:
int mousepos(int *x, int *y);
也就是说 实际上要传入实现存在的变量 x , y的地址
outtextxy()的声明
void outtextxy( int x, int y, LPCSTR textstring, PIMAGE pimg = NULL );
说明使用sprintf()的目的是转换int型的x与y为字符串,因为outtextxy()传入的是字符串的指针.
扫描二维码关注公众号,回复:
1879327 查看本文章