在人们告诉我缩短程序之后我做了它,这里是程序的缩短版本,上面有相同的错误。它只会在片刻之后出现。如果我点击继续,程序工作正常。但是看到运动功能?它确实无法工作。精灵拒绝向任何方向移动。但是如果我在移动中给出一个非常大的浮动值,那么精灵就会从它的位置移开我启动程序,它保持在那个位置,没有进一步的移动。例如,如果我写sprite.move(400.f,400.f),精灵从(0,0)移动到(400,400)并保持在那里。它不再移动了。 这是缩短版代码:
console
我对代码进行了改进,但仍会产生相同的结果和错误。 在使用反汇编程序时,我看到崩溃发生在
00B37AEE cmp esi,esp
在window.display()中。
当我创建一个函数并使用它来显示精灵时,运动会发生,但不知道nada
答案 0 :(得分:0)
如果W未按 ,则您的逻辑表示您的移动为0/0。 W按下的块的else
会覆盖所有先前的设置。移动精灵应该在你display
之前发生。
我看不出空指针异常的原因,但这就是调试器的用途。下次发生这种情况时,请调试。
哦,它是int main()
,而不是void
。我知道编译器容忍这个错误,但它仍然是一个错误和未定义的行为。