refrain_ct 2022-01-18 18:58 采纳率: 33.3%
浏览 47
已结题

visual studio2022 虚拟键值获取不到

代码如下-
#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等标志,发现按下空格确实没反应。大一菜鸟,第一次写游戏,请求指教。

  • 写回答

1条回答 默认 最新

  • [PE]经典八炮 2022-01-18 20:36
    关注

    很明显啊,while后面需要加大括号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月26日
  • 已采纳回答 1月18日
  • 创建了问题 1月18日

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因