こんにちは、SFML アプリケーションでスプライトを描画したいのですが、クラス メンバーである画像とテクスチャを使用すると、テクスチャが常に白くなります。
クラスメンバー:
sf::Sprite myimg;
sf::Image myimg_image;
sf::Texture myimg_texture;
次に、cppファイルでこのようなスプライトを作成すると
// create image
myimg_image.create(icon.width, icon.height, icon.pixelData);
// create texture from image
myimg_texture.create(icon.width, icon.height);
myimg_texture.update(myimg_image);
// apply texture to sprite
myimg.setTexture(myimg_texture);
window.draw(myimg) で描画すると、白いスプライトのみが描画されます
(icon は画像情報を含む構造体です。GIMP で C ソースとしてエクスポートして使用したい画像です)
少し実験したところ、上記のクラスメンバーをクラスメンバーとしてではなく、メイン関数内のローカル変数として作成すると、画像が適切に描画されることがわかりました...
しかし、他の機能からもアクセスしたいので、メンバーとして必要なので、それは役に立ちません
もうどうすればいいのかわからないので、助けてください:(