我正在使用OpenGl进行SFML教程,我遇到了这个非常奇怪的问题。 在我的代码中,立方体的绘图工作正常,但它在我的鼠标后调整大小。如果我的鼠标位于左上角,则立方体的大小几乎为零,如果我的鼠标位于右下角,则会正确绘制立方体(全尺寸)。 img832.imageshack.us/img832/440/sfmlprob.png
这正常(教程代码):http://pastebin.com/hrzrC52j
这个不起作用(我的代码):http://pastebin.com/8ja0Qpkb
如果我将教程中的所有代码复制到我自己的代码中,它可以正常工作(不会调整大小),所以代码中应该有一些区别,但我一遍又一遍地看了一遍,找不到任何应该调整立方体的大小。
答案 0 :(得分:1)
if (Event.Type = sf::Event::Resized)
glViewport(0,0,Event.Size.Width,Event.Size.Height);
实际应该是
if (Event.Type == sf::Event::Resized)
glViewport(0,0,Event.Size.Width,Event.Size.Height);
因此,您使用了=
而不是==
,并且所有包含鼠标移动的事件都已通过glViewport
代码。