表示するサンプルコードの言語を指定できます。

シーン遷移

フェードアウト・フェードイン

SS

C++

#include <Altseed.h>

// フェードアウト・フェードインでシーン遷移をするサンプル。

// 遷移後のシーン
class Transition_Fade_Scene2
    : public asd::Scene
{
public:
    void OnRegistered() override
    {
        // 画像を読み込み、オブジェクトに設定する。
        auto obj = std::make_shared<asd::TextureObject2D>();
        auto tex = asd::Engine::GetGraphics()->CreateTexture2D(asd::ToAString("Data/Texture/Scene2.png").c_str());
        obj->SetTexture(tex);

        // シーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        auto layer = std::make_shared<asd::Layer2D>();
        AddLayer(layer);
        layer->AddObject(obj);
    }
};

// 遷移前のシーン
class Transition_Fade_Scene1
    : public asd::Scene
{
public:
    void OnRegistered() override
    {
        // 画像を読み込み、オブジェクトに設定する。
        auto obj = std::make_shared<asd::TextureObject2D>();
        auto tex = asd::Engine::GetGraphics()->CreateTexture2D(asd::ToAString("Data/Texture/Scene1.png").c_str());
        obj->SetTexture(tex);

        // シーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        auto layer = std::make_shared<asd::Layer2D>();
        AddLayer(layer);
        layer->AddObject(obj);
    }

    void OnUpdated() override
    {
        // マウスの左ボタンが押されるのを待つ。
        if (asd::Engine::GetMouse()->GetLeftButton()->GetButtonState() == asd::MouseButtonState::Push)
        {
            // フェードアウト・インによるシーン遷移を開始する。
            // 1秒かけてフェードアウトし、1.5秒かけてフェードイン。
            asd::Engine::ChangeSceneWithTransition(std::make_shared<Transition_Fade_Scene2>(), std::make_shared<asd::TransitionFade>(1.0f, 1.5f));
        }
    }
};

int main()
{
    // Altseedを初期化する。
    asd::Engine::Initialize(asd::ToAString("Transition_Fade").c_str(), 640, 480, asd::EngineOption());

    // シーンのインスタンスを生成する。
    auto scene = std::make_shared<Transition_Fade_Scene1>();

    // シーンをシーン1に設定する。
    asd::Engine::ChangeScene(scene);

    // Altseedのウインドウが閉じられていないか確認する。
    while (asd::Engine::DoEvents())
    {
        // Altseedを更新する。
        asd::Engine::Update();
    }

    // Altseedを終了する。
    asd::Engine::Terminate();
}

C#



// フェードアウト・フェードインでシーン遷移をするサンプル。

// 遷移後のシーン
class Transition_Fade_Scene2 : asd.Scene
{
    protected override void OnRegistered()
    {
        // 画像を読み込み、オブジェクトに設定する。
        var obj = new asd.TextureObject2D();
        var tex = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Scene2.png");
        obj.Texture = tex;

        // シーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        var layer = new asd.Layer2D();
        AddLayer(layer);
        layer.AddObject(obj);
    }

    protected override void OnUpdated()
    {
        // マウスの左ボタンが押されるのを待つ。
        if(asd.Engine.Mouse.LeftButton.ButtonState == asd.MouseButtonState.Push)
        {
            // フェードアウト・インによるシーン遷移を開始する。
            // 1秒かけてフェードアウトし、1.5秒かけてフェードイン。
            asd.Engine.ChangeSceneWithTransition(new Transition_Fade_Scene1(), new asd.TransitionFade(1.0f, 1.5f));
        }
    }
}

// 遷移前のシーン
class Transition_Fade_Scene1 : asd.Scene
{
    protected override void OnRegistered()
    {
        // 画像を読み込み、オブジェクトに設定する。
        var obj = new asd.TextureObject2D();
        var tex = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Scene1.png");
        obj.Texture = tex;

        // シーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        var layer = new asd.Layer2D();
        AddLayer(layer);
        layer.AddObject(obj);
    }

    protected override void OnUpdated()
    {
        // マウスの左ボタンが押されるのを待つ。
        if (asd.Engine.Mouse.LeftButton.ButtonState == asd.MouseButtonState.Push)
        {
            // フェードアウト・インによるシーン遷移を開始する。
            // 1秒かけてフェードアウトし、1.5秒かけてフェードイン。
            asd.Engine.ChangeSceneWithTransition(new Transition_Fade_Scene2(), new asd.TransitionFade(1.0f, 1.5f));
        }
    }
}

class Transition_Fade
{
    public string Description
    {
        get { return "フェードイン・フェードアウトを用いてシーン遷移をするサンプルです。"; }
    }
    public string Title
    {
        get { return "フェードイン・フェードアウト"; }
    }
    public string ClassName
    {
        get { return "Transition_Fade"; }
    }

    [System.STAThread]
    static void Main(string[] args)
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Transition_Fade", 640, 480, new asd.EngineOption());

        // シーンのインスタンスを生成する。
        var scene = new Transition_Fade_Scene1();

        // シーンをシーン1に設定する。
        asd.Engine.ChangeScene(scene);

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            // Altseedを更新する。
            asd.Engine.Update();
        }

        // Altseedを終了する。
        asd.Engine.Terminate();
    }
}


Java

class Transition_Fade 
{
    public java.lang.String getDescription() {
        return "フェードイン・フェードアウトを用いてシーン遷移をするサンプルです。";
    }
    public java.lang.String getTitle() {
        return "フェードイン・フェードアウト";
    }
    public java.lang.String getClassName() {
        return "Transition_Fade";
    }
    public static void main(String args[])
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Transition_Fade", 640, 480, new asd.EngineOption());

        // シーンのインスタンスを生成する。
        Transition_Fade_Scene1 scene = new Transition_Fade_Scene1();

        // シーンをシーン1に設定する。
        asd.Engine.ChangeScene(scene);

        // Altseedのウインドウが閉じられていないか確認する。
        while(asd.Engine.DoEvents())
        {
            // Altseedを更新する。
            asd.Engine.Update();
        }


        // Altseedを終了する。
        asd.Engine.Terminate();
    }
}
class Transition_Fade_Scene1 extends asd.Scene
{
    protected void OnRegistered()
    {
        // 画像を読み込み、オブジェクトに設定する。
        asd.TextureObject2D obj = new asd.TextureObject2D();
        asd.Texture2D tex = asd.Engine.getGraphics().CreateTexture2D("Data/Texture/Scene1.png");
        obj.setTexture(tex);

        // シーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        asd.Layer2D layer = new asd.Layer2D();
        AddLayer(layer);
        layer.AddObject(obj);
    }
    protected void OnUpdated()
    {
        // マウスの左ボタンが押されるのを待つ。
        if((asd.Engine.getMouse().getLeftButton().getButtonState() == asd.MouseButtonState.Push))
        {
            // フェードアウト・インによるシーン遷移を開始する。
            // 1秒かけてフェードアウトし、1.5秒かけてフェードイン。
            asd.Engine.ChangeSceneWithTransition(new Transition_Fade_Scene2(), new asd.TransitionFade(1.0f, 1.5f));
        }
    }
}
class Transition_Fade_Scene2 extends asd.Scene
{
    protected void OnRegistered()
    {
        // 画像を読み込み、オブジェクトに設定する。
        asd.TextureObject2D obj = new asd.TextureObject2D();
        asd.Texture2D tex = asd.Engine.getGraphics().CreateTexture2D("Data/Texture/Scene2.png");
        obj.setTexture(tex);

        // シーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        asd.Layer2D layer = new asd.Layer2D();
        AddLayer(layer);
        layer.AddObject(obj);
    }
    protected void OnUpdated()
    {
        // マウスの左ボタンが押されるのを待つ。
        if((asd.Engine.getMouse().getLeftButton().getButtonState() == asd.MouseButtonState.Push))
        {
            // フェードアウト・インによるシーン遷移を開始する。
            // 1秒かけてフェードアウトし、1.5秒かけてフェードイン。
            asd.Engine.ChangeSceneWithTransition(new Transition_Fade_Scene1(), new asd.TransitionFade(1.0f, 1.5f));
        }
    }
}