功能需要访问另一个函数中的变量
Function needs access to variables in another function
im试图创建一些函数,一个用于设置动画,第二次播放它,我可以将其设置为查找,但是第二个功能需要访问第一个才能以获取一些变量
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
需要知道animatedSprite
和fireSmall
是什么,但我不知道该怎么做。
如果有任何用途,我的标题类是以下
class fire
{
private:
public:
sf::Clock fireClock;
sf::Texture fireTexture;
void fireSetup(void);
void fireAnim(void);
};
您能否使这些变量成为类的成员,而不是本地化的函数?
例如。(当然,将[类型]更改为正确的类型):
class fire
{
private:
[type] anmatedsprite;
[type] firesmall;
public:
sf::Clock fireClock;
sf::Texture fireTexture;
void fireSetup(void);
void fireAnim(void);
};
Google关于C 中的封装原则,当您了解私人,受保护和公共的含义时,则是Google for Class 友谊。简而言之,友谊允许一个班级的成员"查看"友好班的私人成员。我希望这会有所帮助。
相关文章:
- 是否可以将变量/函数返回作为模板参数传递
- 是否有一种方法可以修复编译器未找到特定的OPENCV变量/函数
- 访问实例化类的变量/函数
- 如何在变量函数参数列表中检测给定类型的参数的可用性,并在处理完所有参数后采取行动
- C 多组变量函数参数
- 最有cpu效率的方法是使用std::算法和变量函数模板的参数
- 在此作用域中未声明条件变量函数
- C 关于将数组复制到向量并调用其变量 /函数
- 仅在C 中的一个变量上,两个变量函数的数值集成(使用数值配方库)
- 在应用变量函数的矩阵元素上循环
- 如何向调试器隐藏变量/函数名
- C++11变量函数类型模板参数
- 变量函数参数的奇怪问题
- C++变量函数和cout
- c++模板变量函数未定义引用
- 我可以使用枚举类值作为变量函数的参数吗?
- 从另一个类访问变量/函数
- <"变量/函数"的多重定义>
- 从c++到C文件中定义的变量/函数的未定义引用
- 为什么转换变量函数参数很重要?