代码
#include <graphics.h>
#include <iostream>
int x = 0;
int y = 0;
IMAGE tank;
void move(char input) {
//清除旧图片
clearrectangle(x, y, x + 60, y + 60);
switch (input) {
case 'w': //上
y -= 10;
break;
case 's': //下
y += 10;
break;
case 'a'://左
x += 10;
break;
case 'd': //右
x -= 10;
break;
default:
break;
}
//绘制新图
putimage(x, y, x+60, y+60, &tank, 0, 0, SRCCOPY);
}
int main()
{
initgraph(640, 480);
loadimage(&tank, L"FC\\p1tankU.gif", 60, 60, true);//加载图图
putimage(0, 0, 60, 60, &tank, 0, 0, SRCCOPY);//初始显示位置
char input='w';
//通过不断输入来移动图片
while(true){
input = std::cin.get();
if (input == '\n') {
break;
} else {
move(input);
}
}
closegraph();
}
问题
我想通过这个代码实现键盘输入来控制图片移动,运行时控制台显示已经读入l了字符, 但是结果是图形界面没有任何变化。想知道怎样才能实现“键盘输入控制图片移动”的功能。