easyx做图出现问题

用easyx做图出现图片所示问题

img

#include<stdio.h>
#include<graphics.h>
#include<Windows.h>
IMAGE sd;
IMAGE ima_player[2];
enum
{
  WIDTH=401,
  HEIGHT=744
};
struct move
{
    double x;
    double y;
    bool live;
}player;
void loadImage()
{
    loadimage(&sd, "./photo/background1.png");
    loadimage(&ima_player[0], "./photo/red_MASK.png");
    loadimage(&ima_player[1], "./photo/red.png");
}
void playermove(double speed)
{
#if 0
#elif 1
    
    if (GetAsyncKeyState(VK_UP))
    {
        player.y -= speed;
    }
    if (GetAsyncKeyState(VK_DOWN))
    {
        player.y += speed;
    }
    if (GetAsyncKeyState(VK_LEFT))
    {
        player.x -= speed;
    }
    if (GetAsyncKeyState(VK_RIGHT))
    {
        player.x+= speed;
    }
    putimage(player.x, player.y, &ima_player[0], NOTSRCERASE);
    putimage(player.x, player.y, &ima_player[1], SRCINVERT);
#endif // 0
}
void initgame()
{
    loadImage();
    putimage(0, 0, &sd);
    player.x = WIDTH / 2;
    player.y = HEIGHT - 92;
    player.live = true;
    putimage(player.x, player.y, &ima_player[0], NOTSRCERASE);
    putimage(player.x, player.y, &ima_player[1], SRCINVERT);
}
int main()
{
    initgraph(WIDTH, HEIGHT,SHOWCONSOLE);
    initgame();
    BeginBatchDraw();
    while(1)
    {
        FlushBatchDraw();
        playermove(0.3);
    }
    EndBatchDraw();
}


int main()
{
    initgraph(WIDTH, HEIGHT,SHOWCONSOLE);
    initgame();
    BeginBatchDraw();
    while(1)
    {
        FlushBatchDraw();
        playermove(0.3);
    EndBatchDraw();
    }
}

这样试试

参考easyx.cn官网类似例子代码