GUIのフェードインについて
な。  2015/05/19(Tue) 23:12
SceneManagerでTitleからMainの画面遷移時に、フェードイン比較用の丸は
フェードインできたのですが、GUI(m_gui)はフェードインしませんでした。

GUIをフェードイン・フェードアウトさせるにはどうすれば良いですか?
よろしくお願いします。

---------------------------------------------------------------------

#include <Siv3D.hpp>
#include <HamFramework.hpp>

using MyScene = SceneManager<String>;

class TitleScene : public MyScene::Scene {
public:
void init() override {
m_font = Font(20);
}

void update() override {
if (Input::KeySpace.clicked) {
changeScene(L"Main",2000);
}
}

void draw() const override {
m_font(L"スペースキーで次へ").drawCenter({320,200});
}

private:
Font m_font;
};

class MainScene : public MyScene::Scene {
public:
void init() override {
m_gui = GUI(GUIStyle::Default);
m_gui.setTitle(L"タイトル");
m_gui.addln(GUIText::Create(L"Test"));
m_gui.addln(GUIButton::Create(L"Button"));
}

void update() override {
if (Input::KeySpace.clicked) {
changeScene(L"Title",2000);
}
}

void draw() const override {
Circle({200,200},10.0).draw(Palette::White); //フェードイン比較用
}

private:
GUI m_gui;
};

void Main() {
MyScene scene_manager;

scene_manager.add<TitleScene>(L"Title");
scene_manager.add<MainScene>(L"Main");

while (System::Update()) {
if (!scene_manager.updateAndDraw()) {
break;
}
}
}
記事編集
Reputeless  2015/05/21(Thu) 09:31
Siv3D の標準 GUI は、通常の描画レイヤーの上に描画されるため、フェードイン・アウトできません。
将来のバージョンで改善したいと思います。

次期バージョンで実装される 2D ポストエフェクトを使えば、少しプログラムは複雑になりますが、
画面上のすべての物をフェードイン・アウトできるようになります。
編集
な。  2015/05/21(Thu) 19:56
返信ありがとうございます。
次期バージョン楽しみにしています。
編集
件名
Re: GUIのフェードインについて
名前
コメント
画像添付


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

- WEB PATIO -