c++ - 函数需要访问另一个函数中的变量

标签 c++ function class animation

我正在尝试创建一些函数,一个用于设置动画,第二个用于播放它,我可以设置它,但第二个函数需要访问第一个函数才能获取一些变量

    void fire::fireSetup(void)
{

    fireTexture.loadFromFile("firesprite.png");

    Animation fireSmall;
    fireSmall.setSpriteSheet(fireTexture);
    fireSmall.addFrame(sf::IntRect(64, 0, 64, 64));
    fireSmall.addFrame(sf::IntRect(128, 0, 64, 64));
    fireSmall.addFrame(sf::IntRect(192, 0, 64, 64));
    fireSmall.addFrame(sf::IntRect(0, 0, 64, 64));

    AnimatedSprite animatedSprite(sf::seconds(0.1), false, true);
    animatedSprite.setPosition(sf::Vector2f(300,300));

}

void fire::fireAnim(void)
{
    sf::Time frameTime = fireClock.restart();
    animatedSprite.play(fireSmall);
    animatedSprite.update(frameTime);
    window.mywindow.draw(animatedSprite);
}

如您所见,函数 fireAnim 需要知道什么是 animatedSpritefireSmall 但我不知道该怎么做.

如果它有任何用途,我的头类如下

    class fire
{
private:


public:
    sf::Clock fireClock;
    sf::Texture fireTexture;


    void fireSetup(void);
    void fireAnim(void);

};

最佳答案

您能否使这些变量成为类的成员而不是函数的局部变量?

例如(当然,将 [type] 更改为正确的类型):

class fire
{
    private: 
        [type] anmatedsprite;
        [type] firesmall;



    public:
        sf::Clock fireClock;
        sf::Texture fireTexture;


    void fireSetup(void);
    void fireAnim(void);

};

关于c++ - 函数需要访问另一个函数中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21468304/

相关文章:

php - "$this->array[]()"是什么意思?

c++ - Boost.Asio在该帖子之后被调用处理程序吗?

c++ - 在控制台中读取一行直到换行

c++ - C++ 标准库的所有成员都派生自一个基类吗?

ios - 通过其任何 UI 元素(例如按钮、标签、文本字段)仅获取父类的名称

c++ - 使用随机数生成器 : multiple instances or singleton approach?

JavaScript 类 : create and destroy elements

c++ - MFC: wide char-based CMap 使程序崩溃

MySQL 字符串函数

c - 如何从 C 函数调用 Objective-C 函数