我目前正在使用 C 的过时开放 BGI 库,因为这是我的大学希望我们做的,但我不知道如何使用这个函数。
extern void getmousestate(g_mousestate *state);
定义:
void getmousestate(g_mousestate * state)
{
CHECK_GRAPHCS_INITED
state->x = sharedStruct->mouseX;
state->y = sharedStruct->mouseY;
state->buttons = sharedStruct->mouseButton;
}
g_mousestate 定义:
typedef struct mousestate {
int x, y;
int buttons;
}g_mousestate;
sharedStruct 定义:
static SHARED_STRUCT * sharedStruct;
SHARED_STRUCT 定义:
typedef struct
{
int mouseX, mouseY;
int mouseButton;
int keyCode;
int keyLetter;
int visualPage;
} SHARED_STRUCT;
我尝试做的事情是打电话:
g_mousestate *a;
getmousestate(a->x);
但是我不知道要初始化什么...
我以为这个函数可以告诉我鼠标的位置以及按下的按钮等,但我不知道如何正确调用该函数。非常新手,如有任何帮助,我们将不胜感激。
最佳答案
OK,初学者,让我们开始吧。你想做的:
g_mousestate *a;
getmousestate(a->x);
获取鼠标的 x 位置。首先请注意,您已将 a
声明为指针,但尚未为其分配内存(它尚未指向任何内容)。所以首先你必须有 g_mousestate
对象的内存:
g_mousestate a;
getmousestate(&a);
现在 a
不再是一个指针,而是一个对象,您通过使用 a
的地址将指针传递给 getmousestate
函数&
运算符(“地址”)。
您不需要再做任何事情,因为如果您查看函数的定义,您会看到所有成员都由它填充。
关于c - getmousestate函数 打开BGI库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49027801/