我有一个像这样的类播放器:
class Player
{
public:
Player();
~Player(void);
Sprite *sprite;
Sprite *rocket;
void draw(int x, int y, SpaceInvaders *system);
}
在 Player.cpp 中
void Player::draw(int x, int y, SpaceInvaders *system) {
sprite = system->createSprite("data/player.bmp");
sprite->draw(x, y);
}
Player::~Player(void)
{
sprite->destroy();
rocket->destroy();
}
这个 draw 方法在 main 的 while 循环中被调用:
player.draw(int(xPos), 480-32, system);
游戏运行良好,直到 IX 窗口。那时我在 Player::draw 方法的第一行得到“访问冲突读取位置 0x00000004”。我读过这可能是由于传递了一个空指针或空引用,但我不知道如何解决这个问题。
将不胜感激任何帮助,谢谢!