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()传入的是字符串的指针.