代码如下-
#include<stdio.h>
#include<easyx.h>
#include<Windows.h>
IMAGE run[9]; //跑动
IMAGE roll;
IMAGE jump;
IMAGE* curImg;
void loadImg() //加载图片
{
int i;
for (i = 0;i < 9; i++)
{
char fileName[50] = { 0 };
sprintf(fileName,"./res/run_%d.jpg",i);
loadimage(run+i, fileName, 70, 100);
}
loadimage(&roll,"./res/roll.jpg",70,50);
loadimage(&jump, "./res/jump.jpg", 70, 100);
}
void draw() //绘制图片
{
setfillcolor(BLUE);
solidrectangle(0, getheight()-60, getwidth(), getheight());
static int i;
putimage(30,getheight()-160, curImg+i);
if (i < 9)
i++;
else i = 0;
Sleep(70);
}
void keyContorl() //按键消息获取与处理
{
if (GetAsyncKeyState(VK_SPACE)) //跳跃
{
curImg = &jump;
}
}
int main()
{
initgraph(900, 600); //EW_SHOWCONSOLE
setbkcolor(WHITE);
cleardevice();
loadImg();
curImg=run;
while (1)
draw();
keyContorl();
return 0;
}
想做一个跑酷类的小游戏,思路是获取虚拟键值后用指针来改变图像的输出(跳跃和下蹲暂时懒得画图只有一张图片)但是在按空格后发现图像仍进行循环。尝试过在获取虚拟键值后的语句加入printf等标志,发现按下空格确实没反应。大一菜鸟,第一次写游戏,请求指教。