SFML 传递渲染窗口
我正在尝试使用 SFML 制作游戏。
我正在制作 sf::RenderWindow 但是当我尝试将窗口传递给另一个类时 它失败了。我无法访问该窗口。因为我认为单独制作一个很好 用于处理“关闭窗口”等事件的类,但我无法访问它。如何 我可以解决这个问题吗?
RenderWindow *window;
window = new RenderWindow(VideoMode(768, 614), "Tower Defence ver 2.0");
Im trying to make a game with the SFML.
I'm making a sf::RenderWindow but when I try to pass the window to another class
it fails. I can't access the window. Because I think it's good to make a separate
class for handling events like 'close the window' etc. but then I can't access it. How
can I fix this?
RenderWindow *window;
window = new RenderWindow(VideoMode(768, 614), "Tower Defence ver 2.0");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
为自己创建一个头文件并定义您的函数,如下所示
头文件
Cpp 文件
然后在绘图的游戏循环中,您可以调用类似的内容
希望这会有所帮助。如果您需要更多指导,请告诉我。
Create yourself a header file and define your function like so
Header file
Cpp file
Then in your game loop for drawing you can call something like this
Hope this helps. Let me know if you need any more guidance.
RenderWindow 位于名称空间“sf”中
也许您在某个地方“使用名称空间 sf;”而且在其他地方也不见了。
尝试在各处添加 sf::RenderWindow 前缀。
RenderWindow is in a namespace 'sf'
Maybe you have somewhere "using namespace sf;" and it's missing in other places.
Try prefixing it with sf::RenderWindow everywhere.
您使用的是哪个版本的 SFML?这在 SFML 1.6 中是不可能的,但在 SFML 2.0(即将推出的版本)中是可行的。
Which version of SFML are you using? This is not possible in SFML 1.6, but is in SFML 2.0 (upcoming version).
试试这个
try this