在类函数中显示窗口上的纹理和精灵
Display texture and sprite on the window in class function
所以这是我的cpp文件,它有这个函数。我评论了一些成员因素,因为我觉得它根本没有被阅读,但会包括它们,看看我是否能够使用它们。我的纹理似乎能够出现,但无论我尝试放置它的大小或位置,它都根本没有显示出来。它似乎加载正确,因为当它无法加载我想要使用的纹理时,我要检查if语句。那么,我做错了什么,根本没有出现?
//sf::Texture suit::image = suit::setUpTexture();
//
//sf::Texture& suit::setUpTexture()
//{
// image.loadFromFile("Jester.png");
// sf::Sprite sprite;
// sprite.setTexture(image);
//
// return image;
//}
suit::suit()
{
sf::Texture image;
image.loadFromFile("Jester.png");
sf::Sprite sprite;
sprite.setTexture(image);
sf::Sprite::setScale(5,5);
sprite.setPosition(950,950);
if(!image.loadFromFile("Jester.png"))
{
exit(1);
}
}
我的标题
class suit : public sf::Sprite
{
private:
// static sf::Texture image;
// static sf::Texture& setUpTexture();
public:
suit();
};
当将纹理链接到精灵时,需要告诉该精灵对一个纹理的实际引用。
sprite.setTexture(image&);
使用'&'调用字体地址操作员应该解决您的问题。您还应该通过调用只加载一次图像
if(!image.loadFromFile("Jester.png"))
{
exit(1);
}
而不是:
image.loadFromFile("Jester.png");
事实上,我不知道你是否在重新查看代码后完成了这项工作,但不要忘记使用draw((方法绘制你的actor。
相关文章:
- OpenInventor从9.8升级到10.4.2后,GLSL纹理返回零
- SFML纹理像播放器
- OpenGL大的3D纹理(>2GB)非常慢
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 着色器纹理值与创建纹理时写入的值不同
- OpenGL 2D游戏只绘制第二个精灵纹理而不是第一个
- 试图用SFML中的精灵和纹理产生继承
- cocos2d-x每次我需要精灵或只是改变它的纹理时,制作精灵的最佳做法是什么
- 如何有效地对多个精灵进行纹理处理
- DirectX 10.1 / C++:如何在 ID3D10Resource* 纹理上渲染精灵上的文本
- 用C++在SDL2.0中渲染来自同一纹理的多个精灵
- 在精灵表(OpenGL、C++)上的纹理之间切换
- Cocos2d-x-从精灵或纹理数据编码base64字符串
- OpenGL没有绘制我的纹理精灵
- 使用精灵时变形的纹理(Directx 9)
- Cocos2d-xTMX地图与游戏精灵共享纹理图像文件
- 我的精灵在纹理opengl之间切换
- 处理纹理/精灵矢量@ SMFL
- c++ SFML纹理和精灵类(白框)
- 是否有可能在程序执行过程中通过函数加载精灵、纹理和音乐?