这是一个 SDL 问题,但是我有一种强烈的感觉,即我遇到的问题与 SDL 无关,而更多地与 C++ / 指针有关。
长话短说,这段代码不起作用(编辑以显示我真正做了什么):
player->picture = IMG_Load("player");
SDL_BlitSurface(player->picture, NULL, screen, &pictureLocation);
我在屏幕上什么也看不到。但是,当我这样做时,它可以工作:
SDL_Surface* picture = IMG_Load("player.png");
player->picture = picture;
SDL_BlitSurface(player->picture, NULL, screen, &pictureLocation);
我看小家伙就好了。
真正的问题是我不能直接实例化 Player::picture。即使我尝试
picture = IMG_Load("player.png")
在 player.cpp 中,我最终得到一个空指针。