Beispiel #1
0
        // Layer2Dを継承することでカスタマイズしたレイヤーを作り、一定時間ごとにオブジェクトを追加するサンプル。
        public void Run()
        {
            // Altseedを初期化する。
            asd.Engine.Initialize("SceneAndLayer_CustomLayer", 640, 480, new asd.EngineOption());

            // シーンクラスのインスタンスを生成する。
            var scene = new asd.Scene();

            // 描画するシーンを指定する。
            asd.Engine.ChangeScene(scene);

            // レイヤークラスのインスタンスを生成する。
            var layer = new SampleLayer();

            // 描画するレイヤーをシーンに追加する。
            scene.AddLayer(layer);

            // Altseedのウインドウが閉じられていないか確認する。
            while (asd.Engine.DoEvents())
            {
                // Altseedを更新する。
                asd.Engine.Update();
                Recorder.CaptureScreen("SceneAndLayer_CustomLayer", 0, 100, 0.5f, 0.5f);
            }

            // Altseedを終了する。
            asd.Engine.Terminate();
        }
    public void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("CustomPostEffect_Invert", 640, 480, new asd.EngineOption());

        // シーン、レイヤー、画像を表示するオブジェクトを生成する。
        var scene = new asd.Scene();
        var layer = new asd.Layer2D();
        var obj = new asd.TextureObject2D();
        obj.Texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

        // シーンを変更し、そのシーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        asd.Engine.ChangeScene(scene);
        scene.AddLayer(layer);
        layer.AddObject(obj);

        // レイヤーにポストエフェクトを適用する。
        layer.AddPostEffect(new InvertPostEffect());

        while (asd.Engine.DoEvents())
        {
            asd.Engine.Update();
            Recorder.TakeScreenShot("CustomPostEffect_Invert", 5);
        }

        asd.Engine.Terminate();
    }
Beispiel #3
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj = new asd.MapObject2D();

            Assert.AreNotEqual<asd.Scene>(scene, null);
            Assert.AreNotEqual<asd.Layer>(layer, null);
            Assert.AreNotEqual<asd.MapObject2D>(obj, null);

            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);

            var g = asd.Engine.Graphics;
            var texture = g.CreateTexture2D("Data/Map/MapTest.png");

            var chip1 = new asd.Chip2D();
            chip1.Texture = texture;
            chip1.Position = new asd.Vector2DF(0, 0);
            obj.AddChip(chip1);

            var chip2 = new asd.Chip2D();
            chip2.Texture = texture;
            chip2.Position = new asd.Vector2DF(300, 0);
            obj.AddChip(chip2);

            obj.Position = new asd.Vector2DF(0, 0);
        }
Beispiel #4
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer3D();
            var effectObj = new asd.EffectObject3D();
            var lightObj = new asd.DirectionalLightObject3D();
            var cameraObj = new asd.CameraObject3D();
            var effect = asd.Engine.Graphics.CreateEffect("Data/Effect/Laser01.efk");
            scene.AddLayer(layer);
            layer.AddObject(effectObj);
            layer.AddObject(lightObj);
            layer.AddObject(cameraObj);
            asd.Engine.ChangeScene(scene);

            cameraObj.Position = new asd.Vector3DF(40, 20, 40);
            cameraObj.Focus = new asd.Vector3DF(0, 0, 0);
            cameraObj.FieldOfView = 50.0f;
            cameraObj.ZNear = 1.0f;
            cameraObj.ZFar = 200.0f;
            cameraObj.WindowSize = new asd.Vector2DI(800, 600);

            effectObj.Rotation = new asd.Vector3DF(0.0f, 20.0f, 0.0f);

            lightObj.Rotation = new asd.Vector3DF(30, 160, 0);

            effectObj.SetEffect(effect);
            effectObj.Play();
        }
Beispiel #5
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj   = new asd.MapObject2D();

            Assert.AreNotEqual <asd.Scene>(scene, null);
            Assert.AreNotEqual <asd.Layer>(layer, null);
            Assert.AreNotEqual <asd.MapObject2D>(obj, null);

            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);

            var g       = asd.Engine.Graphics;
            var texture = g.CreateTexture2D("Data/Map/MapTest.png");

            var chip1 = new asd.Chip2D();

            chip1.Texture  = texture;
            chip1.Position = new asd.Vector2DF(0, 0);
            obj.AddChip(chip1);

            var chip2 = new asd.Chip2D();

            chip2.Texture  = texture;
            chip2.Position = new asd.Vector2DF(300, 0);
            obj.AddChip(chip2);

            obj.Position = new asd.Vector2DF(0, 0);
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            // Altseedを初期化する。
            asd.Engine.Initialize("gamejam4", 1000, 800, new asd.EngineOption());

            int frameCount = 0;
            asd.Scene scene = new asd.Scene();

            //// layers
            //layers[0]: mainLayer
            //layers[1]: subLayer
            for (int i = 0; i < 2; i++)
            {
                scene.AddLayer(new asd.Layer2D());
            }

            EventManager eventManager = new EventManager(scene);
            asd.Engine.ChangeScene(scene);

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

                // 当たり判定を処理する。
                eventManager.updateByCollision();

                // フレーム数による更新
                eventManager.updateByFrame(frameCount++);
            }

            // Altseedの終了処理をする。
            asd.Engine.Terminate();
        }
Beispiel #7
0
 public EventManager(asd.Scene scene)
 {
     this.scene = scene;
     List<asd.Layer> layers = scene.Layers.ToList();
     mainLayer = layers[0] as asd.Layer2D;
     subLayer = layers[1] as asd.Layer2D;
 }
Beispiel #8
0
    public void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Pause_Basic", 640, 480, new asd.EngineOption());

        // シーンを生成する
        var scene = new asd.Scene();

        // ゲームの挙動を描画するレイヤーを生成する
        var layer = new Pause_Basic_MainLayer();

        // シーンにレイヤーを追加する
        scene.AddLayer(layer);

        // シーンを切り替える
        asd.Engine.ChangeScene(scene);

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

        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
Beispiel #9
0
    public void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("CustomPostEffect_Invert", 640, 480, new asd.EngineOption());

        // シーン、レイヤー、画像を表示するオブジェクトを生成する。
        var scene = new asd.Scene();
        var layer = new asd.Layer2D();
        var obj   = new asd.TextureObject2D();

        obj.Texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

        // シーンを変更し、そのシーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        asd.Engine.ChangeScene(scene);
        scene.AddLayer(layer);
        layer.AddObject(obj);

        // レイヤーにポストエフェクトを適用する。
        layer.AddPostEffect(new InvertPostEffect());

        while (asd.Engine.DoEvents())
        {
            asd.Engine.Update();
            Recorder.TakeScreenShot("CustomPostEffect_Invert", 5);
        }

        asd.Engine.Terminate();
    }
Beispiel #10
0
    public void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Pause_Basic", 640, 480, new asd.EngineOption());

        // シーンを生成する
        var scene = new asd.Scene();

        // ゲームの挙動を描画するレイヤーを生成する
        var layer = new MainLayer();

        // シーンにレイヤーを追加する
        scene.AddLayer(layer);

        // シーンを切り替える
        asd.Engine.ChangeScene(scene);

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

        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
Beispiel #11
0
        protected override void OnStart()
        {
            var scene     = new asd.Scene();
            var layer     = new asd.Layer3D();
            var effectObj = new asd.EffectObject3D();
            var lightObj  = new asd.DirectionalLightObject3D();
            var cameraObj = new asd.CameraObject3D();
            var effect    = asd.Engine.Graphics.CreateEffect("Data/Effect/Laser01.efk");

            scene.AddLayer(layer);
            layer.AddObject(effectObj);
            layer.AddObject(lightObj);
            layer.AddObject(cameraObj);
            asd.Engine.ChangeScene(scene);

            cameraObj.Position    = new asd.Vector3DF(40, 20, 40);
            cameraObj.Focus       = new asd.Vector3DF(0, 0, 0);
            cameraObj.FieldOfView = 50.0f;
            cameraObj.ZNear       = 1.0f;
            cameraObj.ZFar        = 200.0f;
            cameraObj.WindowSize  = new asd.Vector2DI(800, 600);

            effectObj.Rotation = new asd.Vector3DF(0.0f, 20.0f, 0.0f);

            lightObj.Rotation = new asd.Vector3DF(30, 160, 0);

            effectObj.SetEffect(effect);
            effectObj.Play();
        }
Beispiel #12
0
        public EventManager(asd.Scene scene)
        {
            this.scene = scene;
            List <asd.Layer> layers = scene.Layers.ToList();

            mainLayer = layers[0] as asd.Layer2D;
            subLayer  = layers[1] as asd.Layer2D;
        }
Beispiel #13
0
 /// <summary>
 /// シーンが破棄されたときに実行されるイベントを追加する。
 /// </summary>
 /// <exception cref="ArgumentNullException"></exception>
 public static void AddOnDisposedEvent(this asd.Scene scene, Action action)
 {
     if (action == null)
     {
         throw new ArgumentNullException("action");
     }
     scene.GetSceneComponent().OnDisposedEvent += _ => action();
 }
Beispiel #14
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            layer = new asd.Layer2D();
            obj = new asd.TextureObject2D();

            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);
        }
Beispiel #15
0
    public void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Dispose_Object2D", 640, 480, new asd.EngineOption());

        // 画像を読み込む。
        var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

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

        // カスタマイズしたレイヤーのインスタンスを生成する。
        var layer = new Dispose_Layer2D_MessageLayer();

        // カスタマイズしたオブジェクトのインスタンスを生成する。
        var obj = new Dispose_Layer2D_MessageObject();

        // オブジェクトの位置とテクスチャを設定する。
        obj.Position = new asd.Vector2DF(50, 50);
        obj.Texture  = texture;

        // 描画するシーンを指定する。
        asd.Engine.ChangeScene(scene);

        // 描画するレイヤーをシーンに追加する。
        scene.AddLayer(layer);

        // 描画するオブジェクトをレイヤーに追加する。
        layer.AddObject(obj);

        // フレーム数を数えるための変数。
        int count = 0;

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

            // フレームを数える。
            count++;

            // 10フレーム目になったら
            if (count == 10)
            {
                System.Console.WriteLine("Layerを破棄します");
                // レイヤーを破棄する。
                layer.Dispose();
            }
            Recorder.TakeScreenShot("Dispose_Layer2D", 30);
        }

        // Altseedを終了する。
        asd.Engine.Terminate();
    }
Beispiel #16
0
        static void Main(string[] args)
        {
            // Altseed Initialization
            var engineOption = new asd.EngineOption
            {
                AutoGeneratedLayer = asd.AutoGeneratedLayerType.Nothing,
                IsWindowResizable  = true,
            };

            asd.Engine.Initialize("WIWS Test", 800, 600, engineOption);

            // Create Window Container
            var style = new Style();
            var scene = new asd.Scene();
            var wc    = new WindowContainer(style);

            scene.AddLayer(wc);

            // Add Windows
            var window = wc.AddNewWindow("Test", new asd.RectI(100, 100, 400, 300));

            wc.AddNewWindow("Test2", new asd.RectI(300, 200, 400, 300));

            // Add Controls
            var label = new Label();

            label.Text = "0";
            window.AddControl(label);

            var button = new Button();

            button.Text     = "Button";
            button.Clicked += () =>
            {
                label.Text = (int.Parse(label.Text) + 1).ToString();
            };
            window.AddControl(button);

            var label2 = new Label();

            label2.Text = "Test2";
            window.AddControl(label2);

            asd.Engine.ChangeScene(scene);

            // Altseed Main Loop
            while (asd.Engine.DoEvents())
            {
                asd.Engine.Update();
            }

            // Altseed Termination
            asd.Engine.Terminate();
        }
Beispiel #17
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();

            layer = new asd.Layer2D();
            obj   = new asd.TextureObject2D();

            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);
        }
Beispiel #18
0
        /// <summary>
        /// コルーチンを管理するクラスを取得する。
        /// </summary>
        public static CoroutineManager CoroutineManager(this asd.Scene scene)
        {
            var component = (CoroutineComponent)scene.GetComponent(CoroutineComponentName);

            if (component == null)
            {
                component = new CoroutineComponent();
                scene.AddComponent(component, CoroutineComponentName);
            }

            return(component.Coroutine);
        }
Beispiel #19
0
        /// <summary>
        /// 描画遷移効果ありでシーンの遷移を行う。
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="transition"></param>
        /// <param name="doAutoDispose"></param>
        /// <returns></returns>
        public bool ChangeSceneWithTransition(asd.Scene scene, asd.Transition transition, bool doAutoDispose = true)
        {
            var changeScene = !IsSceneChanging;

            if (changeScene)
            {
                IsSceneChanging = true;
                asd.Engine.ChangeSceneWithTransition(scene, transition, doAutoDispose);
            }

            return(changeScene);
        }
Beispiel #20
0
        ///// <summary>
        ///// 元にシーンの一時停止を行う。
        ///// </summary>
        ///// <param name="paused">一時停止するかどうかを表す。trueなら停止する。</param>
        //public void Pause(bool paused)
        //{
        //    IsPaused = paused;

        //    PauseLayers.ForEach(layer =>
        //    {
        //        layer.IsUpdated = IsPaused;
        //        layer.IsDrawn = IsPaused;
        //    });

        //    PausedLayers.ForEach(layer =>
        //    {
        //        layer.IsUpdated = !IsPaused;
        //    });
        //}

        /// <summary>
        /// すぐにシーンの遷移を行う。
        /// </summary>
        /// <param name="scene"></param>
        /// <returns></returns>
        public bool ChangeScene(asd.Scene scene)
        {
            var changeScene = !IsSceneChanging;

            if (changeScene)
            {
                IsSceneChanging = true;
                asd.Engine.ChangeScene(scene);
            }

            return(changeScene);
        }
Beispiel #21
0
        private static SceneComponent <asd.Scene> GetSceneComponent(this asd.Scene scene)
        {
            var component = (SceneComponent <asd.Scene>)scene.GetComponent(ComponentName);

            if (component == null)
            {
                component = new SceneComponent <asd.Scene>(ComponentName);
                component.Attach(scene);
            }

            return(component);
        }
Beispiel #22
0
        // フェードアウト・フェードインでシーン遷移をするサンプル。
        public void Run()
        {
            // Altseedを初期化する。
            asd.Engine.Initialize("Transition_Fade", 640, 480, new asd.EngineOption());

            // シーン(1)、レイヤー、オブジェクトのインスタンスを生成する。
            var scene1 = new asd.Scene();
            var layer1 = new asd.Layer2D();
            var object1 = new asd.TextureObject2D();

            // 画像を読み込み、オブジェクトに設定する。
            var texture1 = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Scene1.png");
            object1.Texture = texture1;

            // シーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
            scene1.AddLayer(layer1);
            layer1.AddObject(object1);

            // 上と同じものをもう1セット作る。
            var scene2 = new asd.Scene();
            var layer2 = new asd.Layer2D();
            var object2 = new asd.TextureObject2D();

            var texture2 = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Scene2.png");
            object2.Texture = texture2;

            scene2.AddLayer(layer2);
            layer2.AddObject(object2);

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

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

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

            // Altseedを終了する。
            asd.Engine.Terminate();
        }
        // レイヤーにライトブルームのポストエフェクトを適用する。
        public void Run()
        {
            // Altseedを初期化する。
            asd.Engine.Initialize("PostEffect_LightBloom", 640, 480, new asd.EngineOption());

            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

            // シーンクラスのインスタンスを生成する。
            var scene = new asd.Scene();

            // レイヤーのコンストラクタを呼び出す。
            var layer = new asd.Layer2D();

            // レイヤークラスのインスタンスを生成する。
            var obj = new asd.TextureObject2D();

            // 画像描画オブジェクトのインスタンスを生成する。
            obj.Position = new asd.Vector2DF(50, 50);
            obj.Texture = texture;

            // シーンを変更し、そのシーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);

            // ライトブルームクラスのインスタンスを生成する。
            var posteffect = new asd.PostEffectLightBloom();

            // ライトブルームのぼかしの強さを設定する。
            posteffect.Intensity = 10.0f;

            // ライトブルームの露光の強さを設定する。
            posteffect.Exposure = 1.0f;

            // ライトブルームで光らせる明るさのしきい値を設定する。
            posteffect.Threshold = 0.3f;

            // レイヤーにライトブルームのポストエフェクトを適用。
            layer.AddPostEffect(posteffect);

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

            // Altseedを終了する。
            asd.Engine.Terminate();
        }
        // レイヤーにライトブルームのポストエフェクトを適用する。
        public void Run()
        {
            // Altseedを初期化する。
            asd.Engine.Initialize("PostEffect_LightBloom", 640, 480, new asd.EngineOption());

            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

            // シーンクラスのインスタンスを生成する。
            var scene = new asd.Scene();

            // レイヤーのコンストラクタを呼び出す。
            var layer = new asd.Layer2D();

            // レイヤークラスのインスタンスを生成する。
            var obj = new asd.TextureObject2D();

            // 画像描画オブジェクトのインスタンスを生成する。
            obj.Position = new asd.Vector2DF(50, 50);
            obj.Texture  = texture;

            // シーンを変更し、そのシーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);

            // ライトブルームクラスのインスタンスを生成する。
            var posteffect = new asd.PostEffectLightBloom();

            // ライトブルームのぼかしの強さを設定する。
            posteffect.Intensity = 10.0f;

            // ライトブルームの露光の強さを設定する。
            posteffect.Exposure = 1.0f;

            // ライトブルームで光らせる明るさのしきい値を設定する。
            posteffect.Threshold = 0.3f;

            // レイヤーにライトブルームのポストエフェクトを適用。
            layer.AddPostEffect(posteffect);

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

            // Altseedを終了する。
            asd.Engine.Terminate();
        }
Beispiel #25
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj = new asd.TextureObject2D();
            camera = new asd.CameraObject2D();

            obj.Texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");
            camera.Src = new asd.RectI(100, 100, 312, 312);
            camera.Dst = new asd.RectI(10, 10, 200, 200);

            layer.AddObject(obj);
            layer.AddObject(camera);
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);
        }
Beispiel #26
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj   = new asd.TextureObject2D();

            camera = new asd.CameraObject2D();

            obj.Texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");
            camera.Src  = new asd.RectI(100, 100, 312, 312);
            camera.Dst  = new asd.RectI(10, 10, 200, 200);

            layer.AddObject(obj);
            layer.AddObject(camera);
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);
        }
Beispiel #27
0
        public void Run()
        {
            // aceを初期化する
            asd.Engine.Initialize("EffectObject2D", 640, 480, new asd.EngineOption());

            // シーンを生成する
            var scene = new asd.Scene();

            // レイヤーを生成する
            var layer = new asd.Layer2D();

            // シーンにレイヤーを追加する
            scene.AddLayer(layer);

            // シーンを切り替える
            asd.Engine.ChangeScene(scene);

            // エフェクトを読み込む
            var effect = asd.Engine.Graphics.CreateEffect("Data/Effect/magic.efk");

            // エフェクトオブジェクトを生成する
            var effectObj = new asd.EffectObject2D();

            // エフェクトをレイヤーに追加する
            layer.AddObject(effectObj);

            // エフェクトの位置、大きさを指定する
            effectObj.Position = new asd.Vector2DF(320, 240);
            effectObj.Scale    = new asd.Vector2DF(50, 50);

            // エフェクトを設定する
            effectObj.Effect = effect;

            // エフェクトを再生する
            effectObj.Play();

            // aceが進行可能かチェックする。
            while (asd.Engine.DoEvents())
            {
                // aceを更新する。
                asd.Engine.Update();
            }

            // aceを終了する。
            asd.Engine.Terminate();
        }
Beispiel #28
0
        public void Run()
        {
            // aceを初期化する
            asd.Engine.Initialize("EffectObject2D", 640, 480, new asd.EngineOption());

            // シーンを生成する
            var scene = new asd.Scene();

            // レイヤーを生成する
            var layer = new asd.Layer2D();

            // シーンにレイヤーを追加する
            scene.AddLayer(layer);

            // シーンを切り替える
            asd.Engine.ChangeScene(scene);

            // エフェクトを読み込む
            var effect = asd.Engine.Graphics.CreateEffect("Data/Effect/magic.efk");

            // エフェクトオブジェクトを生成する
            var effectObj = new asd.EffectObject2D();

            // エフェクトをレイヤーに追加する
            layer.AddObject(effectObj);

            // エフェクトの位置、大きさを指定する
            effectObj.Position = new asd.Vector2DF(320, 240);
            effectObj.Scale = new asd.Vector2DF(50, 50);

            // エフェクトを設定する
            effectObj.Effect = effect;

            // エフェクトを再生する
            effectObj.Play();

            // aceが進行可能かチェックする。
            while (asd.Engine.DoEvents())
            {
                // aceを更新する。
                asd.Engine.Update();
            }

            // aceを終了する。
            asd.Engine.Terminate();
        }
Beispiel #29
0
        protected override void OnUpdating()
        {
            if (Time % 9 == 0)
            {
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");

            var obj = new asd.TextureObject2D();
            obj.Texture = texture;
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            layer.AddObject(obj);
            scene.AddLayer(layer);

            var transition = new asd.TransitionFade(3.0f / 60.0f, 3.0f / 60.0f);
            asd.Engine.ChangeSceneWithTransition(scene, transition);
            }
        }
Beispiel #30
0
        protected override void OnUpdating()
        {
            if (Time % 9 == 0)
            {
                var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");

                var obj = new asd.TextureObject2D();
                obj.Texture = texture;
                var scene = new asd.Scene();
                var layer = new asd.Layer2D();
                layer.AddObject(obj);
                scene.AddLayer(layer);

                var transition = new asd.TransitionFade(3.0f / 60.0f, 3.0f / 60.0f);
                asd.Engine.ChangeSceneWithTransition(scene, transition);
            }
        }
Beispiel #31
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj = new asd.TextureObject2D();
            scene.AddLayer(layer);
            layer.AddObject(obj);
            asd.Engine.ChangeScene(scene);

            var g = asd.Engine.Graphics;
            var texture = g.CreateTexture2D("Data/Texture/Sample1.png");
            obj.Texture = texture;
            obj.Scale = new asd.Vector2DF(1, 1);

            var pe = new asd.PostEffectGrayScale();
            layer.AddPostEffect(pe);
        }
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj = new asd.TextObject2D();

            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);

            var font = asd.Engine.Graphics.CreateFont("Data/Font/Nac0812.aff");

            obj.Text = "DependencyPropertyは\n依存関係プロパティのこと";
            obj.Font = font;

            //object->SetCenterPosition(Vector2DF(128, 128));
            obj.Position = new asd.Vector2DF(0, 0);
        }
Beispiel #33
0
        private static void PostEffect()
        {
            // シーン、レイヤー、画像を表示するオブジェクトを生成する。
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();

            // シーンを変更し、そのシーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);

            // レイヤーにポストエフェクトを適用する。
            layer.AddPostEffect(new CustomPostEffect("ShaderCode/01/sample.glsl"));

            while (asd.Engine.DoEvents())
            {
                asd.Engine.Update();
            }
        }
Beispiel #34
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj   = new asd.TextObject2D();

            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);

            var font = asd.Engine.Graphics.CreateFont("Data/Font/Nac0812.aff");

            obj.Text = "DependencyPropertyは\n依存関係プロパティのこと";
            obj.Font = font;

            //object->SetCenterPosition(Vector2DF(128, 128));
            obj.Position = new asd.Vector2DF(0, 0);
        }
Beispiel #35
0
        protected override void OnStart()
        {
            var scene        = new asd.Scene();
            var layer        = new asd.Layer2D();
            var imagePackage = asd.Engine.Graphics.CreateImagePackage("Data/ImagePackage/test.aip");

            for (int i = 0; i < imagePackage.ImageCount; i++)
            {
                var obj = new asd.TextureObject2D();

                obj.Texture  = imagePackage.GetImage(i);
                obj.Position = new asd.Vector2DF(imagePackage.GetImageArea(i).X, imagePackage.GetImageArea(i).Y);
                layer.AddObject(obj);
            }

            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);
        }
Beispiel #36
0
        protected override void OnStart()
        {
            var scene       = new asd.Scene();
            var layer       = new asd.Layer2D();
            var textureObj1 = new asd.TextureObject2D();

            texture = asd.Engine.Graphics.CreateEmptyTexture2D(1280, 720, asd.TextureFormat.R8G8B8A8_UNORM_SRGB);

            layer.AddObject(textureObj1);
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            textureObj1.Texture = texture;

            mp = asd.Engine.Graphics.CreateMediaPlayer();
            mp.Load("Data/Movie/Sample1.mp4");
            mp.Play();
        }
Beispiel #37
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer3D();
            Layer3D = layer;
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            var cameraObj = new asd.CameraObject3D();
            layer.AddObject(cameraObj);

            cameraObj.Position = new asd.Vector3DF(40, 20, 40);
            cameraObj.Focus = new asd.Vector3DF(0, 0, 0);
            cameraObj.FieldOfView = 50.0f;
            cameraObj.ZNear = 1.0f;
            cameraObj.ZFar = 200.0f;
            cameraObj.WindowSize = new asd.Vector2DI(800, 600);
        }
Beispiel #38
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var imagePackage = asd.Engine.Graphics.CreateImagePackage("Data/ImagePackage/test.aip");

            for (int  i = 0; i < imagePackage.ImageCount; i++)
            {
                var obj = new asd.TextureObject2D();

                obj.Texture = imagePackage.GetImage(i);
                obj.Position = new asd.Vector2DF(imagePackage.GetImageArea(i).X, imagePackage.GetImageArea(i).Y);
                layer.AddObject(obj);
            }

            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);
        }
Beispiel #39
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var effect = asd.Engine.Graphics.CreateEffect("Data/Effect/Laser01.efk");
            m_effectObj = new asd.EffectObject2D();

            layer.AddObject(m_effectObj);
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            m_effectObj.Position = new asd.Vector2DF(320, 240);
            m_effectObj.Scale = new asd.Vector2DF(20, 20);
            m_effectObj.EffectRotation = 90;

            m_effectObj.Effect = effect;
            m_effectObj.Play();
        }
Beispiel #40
0
    public void Run()
    {
        while (true)
        {
            asd.Engine.Initialize("サンプルブラウザ", 640, 480, new asd.EngineOption());

            var scene = new asd.Scene();
            browserLayer = new SampleBrowserLayer(this, samples);

            var viewSize = SampleBrowserLayer.Columns * SampleBrowserLayer.ItemOffset.Y;
            var size     = (480 - 80) * viewSize / browserLayer.TotalHeight;
            infoLayer = new SampleInfoLayer(size, browserLayer.TotalHeight, viewSize)
            {
                DrawingPriority = 2
            };

            asd.Engine.ChangeScene(scene);
            scene.AddLayer(browserLayer);
            scene.AddLayer(infoLayer);

            var hintLayer  = new asd.Layer2D();
            var hintObject = new asd.TextureObject2D();
            hintObject.Texture = asd.Engine.Graphics.CreateTexture2D("Data/Browser/Hint.png");
            hintLayer.AddObject(hintObject);

            scene.AddLayer(hintLayer);

            while (asd.Engine.DoEvents() && Selected == null)
            {
                asd.Engine.Update();
                infoLayer.MoveScrollBar(browserLayer.CameraArea.Y);
            }

            asd.Engine.Terminate();

            if (Selected == null)
            {
                break;
            }
            Selected.Run();
            Selected = null;
        }
    }
Beispiel #41
0
        protected override void OnStart()
        {
            var scene  = new asd.Scene();
            var layer  = new asd.Layer2D();
            var effect = asd.Engine.Graphics.CreateEffect("Data/Effect/Laser01.efk");

            m_effectObj = new asd.EffectObject2D();

            layer.AddObject(m_effectObj);
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            m_effectObj.Position       = new asd.Vector2DF(320, 240);
            m_effectObj.Scale          = new asd.Vector2DF(20, 20);
            m_effectObj.EffectRotation = 90;

            m_effectObj.Effect = effect;
            m_effectObj.Play();
        }
Beispiel #42
0
        public void Run()
        {
            // aceを初期化する
            asd.Engine.Initialize("ImagePackage", 640, 480, new asd.EngineOption());

            // シーンを生成する
            var scene = new asd.Scene();

            // レイヤーを生成する
            var layer = new asd.Layer2D();

            // シーンにレイヤーを追加する
            scene.AddLayer(layer);

            // シーンを切り替える
            asd.Engine.ChangeScene(scene);

            // イメージパッケージを読み込む
            asd.ImagePackage imagePackage = asd.Engine.Graphics.CreateImagePackage("Data/ImagePackage/Game.aip");

            for (int i = 0; i < imagePackage.ImageCount; i++)
            {
                // テクスチャを取り出す
                asd.Texture2D texture = imagePackage.GetImage(i);
                asd.RectI     area    = imagePackage.GetImageArea(i);

                // テクスチャをオブジェクトとして追加する
                asd.TextureObject2D textureObject2D = new asd.TextureObject2D();
                textureObject2D.Texture  = texture;
                textureObject2D.Position = new asd.Vector2DF(area.X, area.Y);
                layer.AddObject(textureObject2D);
            }

            // aceが進行可能かチェックする。
            while (asd.Engine.DoEvents())
            {
                // aceを更新する。
                asd.Engine.Update();
            }

            // aceを終了する。
            asd.Engine.Terminate();
        }
Beispiel #43
0
        public void Run()
        {
            // aceを初期化する
            asd.Engine.Initialize("ImagePackage", 640, 480, new asd.EngineOption());

            // シーンを生成する
            var scene = new asd.Scene();

            // レイヤーを生成する
            var layer = new asd.Layer2D();

            // シーンにレイヤーを追加する
            scene.AddLayer(layer);

            // シーンを切り替える
            asd.Engine.ChangeScene(scene);

            // イメージパッケージを読み込む
            asd.ImagePackage imagePackage = asd.Engine.Graphics.CreateImagePackage("Data/ImagePackage/Game.aip");

            for(int i = 0; i < imagePackage.ImageCount; i++)
            {
                // テクスチャを取り出す
                asd.Texture2D texture = imagePackage.GetImage(i);
                asd.RectI area = imagePackage.GetImageArea(i);

                // テクスチャをオブジェクトとして追加する
                asd.TextureObject2D textureObject2D = new asd.TextureObject2D();
                textureObject2D.Texture = texture;
                textureObject2D.Position = new asd.Vector2DF(area.X, area.Y);
                layer.AddObject(textureObject2D);
            }

            // aceが進行可能かチェックする。
            while (asd.Engine.DoEvents())
            {
                // aceを更新する。
                asd.Engine.Update();
            }

            // aceを終了する。
            asd.Engine.Terminate();
        }
Beispiel #44
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer3D();

            Layer3D = layer;
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            var cameraObj = new asd.CameraObject3D();

            layer.AddObject(cameraObj);

            cameraObj.Position    = new asd.Vector3DF(40, 20, 40);
            cameraObj.Focus       = new asd.Vector3DF(0, 0, 0);
            cameraObj.FieldOfView = 50.0f;
            cameraObj.ZNear       = 1.0f;
            cameraObj.ZFar        = 200.0f;
            cameraObj.WindowSize  = new asd.Vector2DI(800, 600);
        }
Beispiel #45
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj   = new asd.TextureObject2D();

            scene.AddLayer(layer);
            layer.AddObject(obj);
            asd.Engine.ChangeScene(scene);

            var g       = asd.Engine.Graphics;
            var texture = g.CreateTexture2D("Data/Texture/Sample1.png");

            obj.Texture = texture;
            obj.Scale   = new asd.Vector2DF(1, 1);

            var pe = new asd.PostEffectSepia();

            layer.AddPostEffect(pe);
        }
Beispiel #46
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj = new asd.TextureObject2D();
            scene.AddLayer(layer);
            layer.AddObject(obj);
            asd.Engine.ChangeScene(scene);

            var g = asd.Engine.Graphics;
            var texture = g.CreateTexture2D("Data/Texture/Sample1.png");
            obj.Texture = texture;
            obj.Scale = new asd.Vector2DF(1, 1);

            var pe = new asd.PostEffectLightBloom();
            pe.Intensity = 5.0f;
            pe.Threshold = 0.3f;
            pe.Exposure = 2.0f;
            layer.AddPostEffect(pe);
        }
Beispiel #47
0
        public void Run()
        {
            // aceの初期化
            asd.Engine.Initialize("Object2DComponent", 640, 480, new asd.EngineOption());

            // 使用するシーン、レイヤー、オブジェクト、コンポーネントを生成
            var scene     = new asd.Scene();
            var layer     = new asd.Layer2D();
            var obj       = new asd.TextureObject2D();
            var component = new RotateComponent();


            // シーンを変更
            asd.Engine.ChangeScene(scene);

            // シーンにレイヤーを追加
            scene.AddLayer(layer);

            // レイヤーにオブジェクトを追加
            layer.AddObject(obj);

            // オブジェクトに回転コンポーネントをコンポーネント名"Rotate"で追加
            obj.AddComponent(component, "Rotate");


            // テクスチャをロード
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Block1.png");

            // オブジェクトに画像をセット
            obj.Texture = texture;

            // オブジェクトの位置を指定
            obj.Position = new asd.Vector2DF(320, 240);

            while (asd.Engine.DoEvents())
            {
                asd.Engine.Update();
            }

            asd.Engine.Terminate();
        }
Beispiel #48
0
        // シーンとレイヤーを手動で生成する。
        public void Run()
        {
            // Altseedを初期化する。
            asd.Engine.Initialize("SceneAndLayer_Basic", 640, 480, new asd.EngineOption());

            // 画像を読み込む。
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

            // シーンクラスのインスタンスを生成する。
            var scene = new asd.Scene();

            // レイヤークラスのインスタンスを生成する。
            var layer = new asd.Layer2D();

            //画像描画オブジェクトのインスタンスを生成する。
            var obj = new asd.TextureObject2D();

            // オブジェクトの位置とテクスチャを設定する。
            obj.Position = new asd.Vector2DF(50, 50);
            obj.Texture = texture;

            // 描画するシーンを指定する。
            asd.Engine.ChangeScene(scene);

            // 描画するレイヤーをシーンに追加する。
            scene.AddLayer(layer);

            // 描画するオブジェクトをレイヤーに追加する。
            layer.AddObject(obj);

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

            // Altseedを終了する。
            asd.Engine.Terminate();
        }
Beispiel #49
0
        // シーンとレイヤーを手動で生成する。
        public void Run()
        {
            // Altseedを初期化する。
            asd.Engine.Initialize("SceneAndLayer_Basic", 640, 480, new asd.EngineOption());

            // 画像を読み込む。
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

            // シーンクラスのインスタンスを生成する。
            var scene = new asd.Scene();

            // レイヤークラスのインスタンスを生成する。
            var layer = new asd.Layer2D();

            //画像描画オブジェクトのインスタンスを生成する。
            var obj = new asd.TextureObject2D();

            // オブジェクトの位置とテクスチャを設定する。
            obj.Position = new asd.Vector2DF(50, 50);
            obj.Texture  = texture;

            // 描画するシーンを指定する。
            asd.Engine.ChangeScene(scene);

            // 描画するレイヤーをシーンに追加する。
            scene.AddLayer(layer);

            // 描画するオブジェクトをレイヤーに追加する。
            layer.AddObject(obj);

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

            // Altseedを終了する。
            asd.Engine.Terminate();
        }
Beispiel #50
0
        // レイヤーにグレースケールのポストエフェクトを適用する。
        public void Run()
        {
            // Altseedを初期化する
            asd.Engine.Initialize("PostEffect_GrayScale", 640, 480, new asd.EngineOption());

            // 画像を読み込む。
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

            // シーンクラスのインスタンスを生成する。
            var scene = new asd.Scene();

            // レイヤークラスのインスタンスを生成する。
            var layer = new asd.Layer2D();

            // 画像描画オブジェクトのインスタンスを生成する。
            var obj = new asd.TextureObject2D();

            // オブジェクトの位置とテクスチャを設定する。
            obj.Position = new asd.Vector2DF(50, 50);
            obj.Texture = texture;

            // シーンを変更し、そのシーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
            asd.Engine.ChangeScene(scene);
            scene.AddLayer(layer);
            layer.AddObject(obj);

            // レイヤーにグレースケールのポストエフェクトを適用する。
            layer.AddPostEffect(new asd.PostEffectGrayScale());

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

            // Altseedを終了する。
            asd.Engine.Terminate();
        }
Beispiel #51
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");
            var textureObj1 = new asd.TextureObject2D();
            var textureObj2 = new asd.TextureObject2D();

            layer.AddObject(textureObj1);
            layer.AddObject(textureObj2);
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            textureObj1.Texture = texture;
            textureObj1.Src = new asd.RectF(256, 256, 256, 256);
            textureObj1.Position=new asd.Vector2DF(320, 240);

            textureObj2.Texture = texture;
            textureObj2.Src = new asd.RectF(0, 0, 256, 256);
            textureObj2.Position = new asd.Vector2DF(0, 0);
            textureObj2.TurnLR = true;
        }
Beispiel #52
0
        public void Run()
        {
            // aceの初期化
            asd.Engine.Initialize("Object2DComponent", 640, 480, new asd.EngineOption());

            // 使用するシーン、レイヤー、オブジェクト、コンポーネントを生成
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj = new asd.TextureObject2D();
            var component = new RotateComponent();

            // シーンを変更
            asd.Engine.ChangeScene(scene);

            // シーンにレイヤーを追加
            scene.AddLayer(layer);

            // レイヤーにオブジェクトを追加
            layer.AddObject(obj);

            // オブジェクトに回転コンポーネントをコンポーネント名"Rotate"で追加
            obj.AddComponent(component, "Rotate");

            // テクスチャをロード
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Block1.png");

            // オブジェクトに画像をセット
            obj.Texture = texture;

            // オブジェクトの位置を指定
            obj.Position = new asd.Vector2DF(320, 240);

            while(asd.Engine.DoEvents())
            {
                asd.Engine.Update();
            }

            asd.Engine.Terminate();
        }
Beispiel #53
0
    // レイヤーにグレースケールのポストエフェクトを適用する。
    public void Run()
    {
        // Altseedを初期化する
        asd.Engine.Initialize("PostEffect_GrayScale", 640, 480, new asd.EngineOption());

        // 画像を読み込む。
        var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");

        // シーンクラスのインスタンスを生成する。
        var scene = new asd.Scene();

        // レイヤークラスのインスタンスを生成する。
        var layer = new asd.Layer2D();

        // 画像描画オブジェクトのインスタンスを生成する。
        var obj = new asd.TextureObject2D();

        // オブジェクトの位置とテクスチャを設定する。
        obj.Position = new asd.Vector2DF(50, 50);
        obj.Texture  = texture;

        // シーンを変更し、そのシーンにレイヤーを追加し、そのレイヤーにオブジェクトを追加する。
        asd.Engine.ChangeScene(scene);
        scene.AddLayer(layer);
        layer.AddObject(obj);

        // レイヤーにグレースケールのポストエフェクトを適用する。
        layer.AddPostEffect(new asd.PostEffectGrayScale());

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

        // Altseedを終了する。
        asd.Engine.Terminate();
    }
Beispiel #54
0
        public void Run()
        {
            asd.Engine.Initialize("CustomPostEffect", 640, 480, new asd.EngineOption());

            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var obj = new asd.TextureObject2D()
            {
                Texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png"),
            };

            layer.AddObject(obj);
            layer.AddPostEffect(new PostEffect(asd.Engine.Graphics));
            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            while (asd.Engine.DoEvents())
            {
                asd.Engine.Update();
            }

            asd.Engine.Terminate();
        }
Beispiel #55
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer3D();
            var meshObj = new asd.ModelObject3D();
            var lightObj = new asd.DirectionalLightObject3D();
            var cameraObj = new asd.CameraObject3D();

            scene.AddLayer(layer);
            layer.AddObject(meshObj);
            layer.AddObject(lightObj);
            layer.AddObject(cameraObj);
            asd.Engine.ChangeScene(scene);

            var mesh = asd.Engine.Graphics.CreateMesh();
            mesh.AddVertex(new asd.Vector3DF(-0.5f, 0.5f, 0.5f), new asd.Vector3DF(0, 0, 1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 0), new asd.Vector2DF(0, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, -0.5f, 0.5f), new asd.Vector3DF(0, 0, 1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 1), new asd.Vector2DF(0, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, 0.5f, 0.5f), new asd.Vector3DF(0, 0, 1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 0), new asd.Vector2DF(1, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, -0.5f, 0.5f), new asd.Vector3DF(0, 0, 1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 1), new asd.Vector2DF(1, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, 0.5f, -0.5f), new asd.Vector3DF(1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 0), new asd.Vector2DF(1, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, -0.5f, -0.5f), new asd.Vector3DF(1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 1), new asd.Vector2DF(1, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, 0.5f, -0.5f), new asd.Vector3DF(0, 0, -1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 0), new asd.Vector2DF(1, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, -0.5f, -0.5f), new asd.Vector3DF(0, 0, -1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 1), new asd.Vector2DF(1, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, 0.5f, 0.5f), new asd.Vector3DF(-1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 0), new asd.Vector2DF(1, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, 0.5f, 0.5f), new asd.Vector3DF(0, 1, 0), new asd.Vector3DF(0, 0, -1), new asd.Vector2DF(0, 1), new asd.Vector2DF(0, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, -0.5f, 0.5f), new asd.Vector3DF(-1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(1, 1), new asd.Vector2DF(1, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, -0.5f, 0.5f), new asd.Vector3DF(0, -1, 0), new asd.Vector3DF(0, 0, 1), new asd.Vector2DF(0, 0), new asd.Vector2DF(0, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, 0.5f, 0.5f), new asd.Vector3DF(1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 0), new asd.Vector2DF(0, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, 0.5f, 0.5f), new asd.Vector3DF(0, 1, 0), new asd.Vector3DF(0, 0, -1), new asd.Vector2DF(1, 1), new asd.Vector2DF(1, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, -0.5f, 0.5f), new asd.Vector3DF(1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 1), new asd.Vector2DF(0, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, -0.5f, 0.5f), new asd.Vector3DF(0, -1, 0), new asd.Vector3DF(0, 0, 1), new asd.Vector2DF(1, 0), new asd.Vector2DF(1, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, 0.5f, -0.5f), new asd.Vector3DF(0, 0, -1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 0), new asd.Vector2DF(0, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, 0.5f, -0.5f), new asd.Vector3DF(0, 1, 0), new asd.Vector3DF(0, 0, -1), new asd.Vector2DF(1, 0), new asd.Vector2DF(1, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, -0.5f, -0.5f), new asd.Vector3DF(0, 0, -1), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 1), new asd.Vector2DF(0, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(0.5f, -0.5f, -0.5f), new asd.Vector3DF(0, -1, 0), new asd.Vector3DF(0, 0, 1), new asd.Vector2DF(1, 1), new asd.Vector2DF(1, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, 0.5f, -0.5f), new asd.Vector3DF(-1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 0), new asd.Vector2DF(0, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, 0.5f, -0.5f), new asd.Vector3DF(0, 1, 0), new asd.Vector3DF(0, 0, -1), new asd.Vector2DF(0, 0), new asd.Vector2DF(0, 0), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, -0.5f, -0.5f), new asd.Vector3DF(-1, 0, 0), new asd.Vector3DF(0, 1, 0), new asd.Vector2DF(0, 1), new asd.Vector2DF(0, 1), new asd.Color(255, 255, 255, 255), 0, 0);
            mesh.AddVertex(new asd.Vector3DF(-0.5f, -0.5f, -0.5f), new asd.Vector3DF(0, -1, 0), new asd.Vector3DF(0, 0, 1), new asd.Vector2DF(0, 1), new asd.Vector2DF(0, 1), new asd.Color(255, 255, 255, 255), 0, 0);

            mesh.AddFace(0, 2, 3, -1);
            mesh.AddFace(0, 3, 1, -1);
            mesh.AddFace(12, 4, 5, -1);
            mesh.AddFace(12, 5, 14, -1);
            mesh.AddFace(16, 6, 7, -1);
            mesh.AddFace(16, 7, 18, -1);
            mesh.AddFace(20, 8, 10, -1);
            mesh.AddFace(20, 10, 22, -1);
            mesh.AddFace(21, 17, 13, -1);
            mesh.AddFace(21, 13, 9, -1);
            mesh.AddFace(11, 15, 19, -1);
            mesh.AddFace(11, 19, 23, -1);

            mesh.SendToGPUMemory();

            cameraObj.Position = new asd.Vector3DF(0, 0, 10);
            cameraObj.Focus = new asd.Vector3DF(0, 0, 0);
            cameraObj.FieldOfView = 20.0f;
            cameraObj.ZNear = 1.0f;
            cameraObj.ZFar = 20.0f;
            cameraObj.WindowSize = new asd.Vector2DI(800, 600);

            meshObj.AddMesh(mesh);
            meshObj.Rotation = new asd.Vector3DF(20.0f, 20.0f, 0.0f);

            lightObj.Rotation = new asd.Vector3DF(30, 160, 0);
        }
Beispiel #56
0
        public void Run()
        {
            // 説明
            Console.WriteLine("Z : グレースケール追加");
            Console.WriteLine("X : セピア調追加");
            Console.WriteLine("C : ガウスぼかし追加");
            Console.WriteLine("V : ライトブルーム追加");
            Console.WriteLine("A : 全てのポストエフェクト消去");

            // aceを初期化する
            asd.Engine.Initialize("PostEffect", 640, 480, new asd.EngineOption());

            // シーン等を初期化する
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var effectObj = new asd.EffectObject2D();
            var effect = asd.Engine.Graphics.CreateEffect("Data/Effect/magic.efk");

            scene.HDRMode = true; ;
            scene.AddLayer(layer);
            layer.AddObject(effectObj);
            asd.Engine.ChangeScene(scene);

            effectObj.Scale = new asd.Vector2DF(50, 50);
            effectObj.Position = new asd.Vector2DF(320, 240);
            effectObj.Effect = effect;
            effectObj.Play();

            // aceが進行可能かチェックする。
            while (asd.Engine.DoEvents())
            {
                // aceを更新する。
                asd.Engine.Update();

                // Aを押したらポストエフェクトを全て破棄する。
                if (asd.Engine.Keyboard.GetKeyState(asd.Keys.A) == asd.KeyState.Push)
                {
                    layer.ClearPostEffects();
                }

                // Zを押したらグレースケールを追加する。
                if (asd.Engine.Keyboard.GetKeyState(asd.Keys.Z) == asd.KeyState.Push)
                {
                    var posteffect = new asd.PostEffectGrayScale();
                    layer.AddPostEffect(posteffect);
                }

                // Xを押したらセピアを追加する。
                if (asd.Engine.Keyboard.GetKeyState(asd.Keys.X) == asd.KeyState.Push)
                {
                    var posteffect = new asd.PostEffectSepia();
                    layer.AddPostEffect(posteffect);
                }

                // Cを押したらガウスぼかしを追加する。
                if (asd.Engine.Keyboard.GetKeyState(asd.Keys.C) == asd.KeyState.Push)
                {
                    var posteffect = new asd.PostEffectGaussianBlur();
                    posteffect.Intensity = 5.0f;
                    layer.AddPostEffect(posteffect);
                }

                // Vを押したらライトブルームを追加する。
                if (asd.Engine.Keyboard.GetKeyState(asd.Keys.V) == asd.KeyState.Push)
                {
                    var posteffect = new asd.PostEffectLightBloom();
                    posteffect.Intensity = 10.0f;
                    posteffect.Exposure = 1.0f;
                    posteffect.Threshold = 0.3f;
                    layer.AddPostEffect(posteffect);
                }
            }

            // aceを終了する。
            asd.Engine.Terminate();
        }
Beispiel #57
0
        protected override void OnStart()
        {
            var scene = new asd.Scene();
            var layer = new asd.Layer2D();
            var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");
            var geometryObj1 = new asd.GeometryObject2D();
            var geometryObj2 = new asd.GeometryObject2D();
            var geometryObj3 = new asd.GeometryObject2D();
            var geometryObj4 = new asd.GeometryObject2D();
            var geometryObj5 = new asd.GeometryObject2D();
            var geometryObj6 = new asd.GeometryObject2D();

            layer.AddObject(geometryObj1);
            layer.AddObject(geometryObj2);
            layer.AddObject(geometryObj3);
            layer.AddObject(geometryObj4);
            layer.AddObject(geometryObj5);
            layer.AddObject(geometryObj6);

            scene.AddLayer(layer);
            asd.Engine.ChangeScene(scene);

            {
                var circle = new asd.CircleShape();
                circle.OuterDiameter = 100.0f;
                circle.InnerDiameter = 10.0f;
                circle.NumberOfCorners = 96;
                circle.Position = new asd.Vector2DF(100, 50);

                geometryObj1.Shape = circle;
                geometryObj1.Texture = texture;
                geometryObj1.Position = new asd.Vector2DF(0, 0);
            }

            {
                var arc = new asd.ArcShape();
                arc.OuterDiameter = 100;
                arc.InnerDiameter = 10;
                arc.NumberOfCorners = 96;
                arc.Position = new asd.Vector2DF(300, 50);
                arc.StartingCorner = 90;
                arc.EndingCorner = 5;

                geometryObj2.Shape = arc;
                geometryObj2.Texture = texture;
                geometryObj2.Position = new asd.Vector2DF(0, 0);
            }

            {
                var line = new asd.LineShape();
                line.StartingPosition = new asd.Vector2DF(410, 50);
                line.EndingPosition = new asd.Vector2DF(630, 50);
                line.Thickness = 5.0f;

                geometryObj3.Shape = line;
                geometryObj3.Position = new asd.Vector2DF(0, 0);
            }

            {
                var rect = new asd.RectangleShape();
                rect.DrawingArea = new asd.RectF(10, 110, 300, 200);
                rect.UV = new asd.RectF(0.0f, 0.0f, 0.5f, 0.5f);

                geometryObj4.Shape = rect;
                geometryObj4.Texture = texture;
                geometryObj4.Position = new asd.Vector2DF(0, 0);
            }

            {
                var triangle = new asd.TriangleShape();
                triangle.SetPointByIndex(new asd.Vector2DF(320, 350), 0);
                triangle.SetPointByIndex(new asd.Vector2DF(100, 450), 1);
                triangle.SetPointByIndex(new asd.Vector2DF(540, 450), 2);

                triangle.SetUVByIndex(new asd.Vector2DF(0.5f, 0.2f), 0);
                triangle.SetUVByIndex(new asd.Vector2DF(0.1f, 0.5f), 1);
                triangle.SetUVByIndex(new asd.Vector2DF(0.9f, 0.7f), 2);

                geometryObj5.Shape = triangle;
                geometryObj5.Texture = texture;
                geometryObj5.Position = new asd.Vector2DF(0, 0);
            }

            {
                var polygon = new asd.PolygonShape();

                for (int i = 0; i < 10; ++i)
                {
                    asd.Vector2DF vec = new asd.Vector2DF(1, 0);
                    vec.Degree = i * 36;
                    vec.Length = (i % 2 == 0) ? 100 : 55;
                    polygon.AddVertex(vec + new asd.Vector2DF(500, 250));

                }

                geometryObj6.Shape = polygon;
                geometryObj6.Texture = texture;
                geometryObj6.Position = new asd.Vector2DF(0, 0);
            }
        }