gpt4 book ai didi

c++ - SFML 通过渲染窗口

转载 作者:行者123 更新时间:2023-11-28 08:19:52 25 4
gpt4 key购买 nike

我正在尝试用 SFML 制作游戏.

我正在制作一个 sf::RenderWindow 但是当我试图将窗口传递给另一个类时它失败。我无法访问窗口。因为我觉得单独做一个很好用于处理“关闭窗口”等事件的类,但我无法访问它。如何我可以解决这个问题吗?

RenderWindow *window;  
window = new RenderWindow(VideoMode(768, 614), "Tower Defence ver 2.0");

最佳答案

自己创建一个头文件并像这样定义你的函数

头文件

#pragma once

#include "SFML/Graphics.hpp"

class MyClass
{
public:
sf::Sprite Sprite;

MyClass();
void Setup(sf::Texture& texture);
void Draw(sf::RenderWindow& window);
};

Cpp文件

#include "Bullet.h"

MyClass::MyClass()
{

}

void MyClass::Setup(sf::Texture& texture)
{
Sprite.setTexture(texture);
Sprite.setPosition(0, 0);
}

void MyClass::Draw(sf::RenderWindow& window)
{
window.draw(Sprite);
}

然后在你的绘图游戏循环中你可以这样调用

// myClass is an object of type MyClass
// renderWindow is your sf::RenderWindow object
myClass.Draw(renderWindow);

希望这对您有所帮助。如果您需要更多指导,请告诉我。

关于c++ - SFML 通过渲染窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com