Textureを生成時以外で画像を読み込む
Hiragi(GKUTH)  2016/05/07(Sat) 23:24
非常に初歩的な問題で申し訳ないのですが、例えばヘッダファイルなどで
Texture型のオブジェクトのみ生成し、後程別の場所でファイルパスを指定し画像を読み込ませる方法がわかりません。

或いはヘッダファイルで宣言時にファイルパスを指定してオブジェクトを作成しようとすると、
「型識別子が必要です」というエラーによりコンパイルできません。

hoge.h

#pragma once
#include <Siv3D.hpp>

class hoge
{
private:
const Texture hoge(L"FilePath");

....

public:
hoge();

....
};
記事編集
Reputeless  2016/05/08(Sun) 01:31
class Widget
{
private:
const Texture m_texture(L"Example/Windmill.png");
};

これは気付きにくいですが、C++ の文法の誤りです。m_texture メンバ関数と解釈されます。
以下のように統一初期化構文 { } で初期化するか、= を使ってください。

class Widget
{
private:
const Texture m_textureA{ L"Example/Windmill.png" };

const Texture m_textureB = Texture(L"Example/Windmill.png");
};

Texture 型の変数に、あとから中身を代入したい場合は、Texture 型の値を代入してください。

void Main()
{
Texture texture;

texture = Texture(L"Example/Windmill,png");
}
編集
Hiragi(GKUTH)  2016/05/08(Sun) 11:37
早い回答ありがとうございました。
確かによく見ればメンバ関数のプロトタイプ宣言と全く同じですね、気づきませんでした...
解決とさせていただきます。
編集
件名
Re: Textureを生成時以外で画像を読み込む
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -