表示するサンプルコードの言語を指定できます。
シーン遷移
フェードアウト・フェードイン
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::ButtonState::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.ButtonState.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.ButtonState.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.ButtonState.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.ButtonState.Push))
{
// フェードアウト・インによるシーン遷移を開始する。
// 1秒かけてフェードアウトし、1.5秒かけてフェードイン。
asd.Engine.ChangeSceneWithTransition(new Transition_Fade_Scene1(), new asd.TransitionFade(1.0f, 1.5f));
}
}
}