예제 #1
0
		public SampleBrowserLayer(ISample[] samples)
		{
			Name = "BrowserLayer";

			Layouter = new TableLayouter
			{
				ItemSpan = ItemOffset,
				Position = new Vector2DF(SampleBrowser.Margin + 16, SampleBrowser.Margin),
				LineCapacity = 3
			};
			Selector = new PointingSelector<ISample>(Layouter);
			AddObject(Selector);

			var font = Engine.Graphics.CreateDynamicFont("", 12, new Color(255, 255, 255, 255), 1, new Color(0, 0, 0, 255));
			foreach (var sample in samples)
			{
				var item = new SampleItem(sample, font);
				Selector.AddChoice(sample, item, SampleItem.Size);
			}

			camera = new CameraObject2D
			{
				Src = new RectI(0, 0, 640, (int) SampleBrowser.ViewerHeight),
				Dst = new RectI(0, 20, 640, (int) SampleBrowser.ViewerHeight)
			};
			AddObject(camera);
		}
예제 #2
0
    public void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("CameraObject2D_Group", 640, 480, new asd.EngineOption());

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

        // テクスチャを描画するオブジェクトを設定する。
        var obj1 = new asd.TextureObject2D();

        obj1.Texture  = tex;
        obj1.Position = new asd.Vector2DF(10, 10);
        obj1.Scale    = new asd.Vector2DF(0.5f, 0.5f);

        // グループを設定する。(描画されない)
        obj1.CameraGroup = 1;
        asd.Engine.AddObject2D(obj1);

        // テクスチャを描画するオブジェクトを設定する。
        var obj2 = new asd.TextureObject2D();

        obj2.Texture  = tex;
        obj2.Position = new asd.Vector2DF(310, 10);
        obj2.Scale    = new asd.Vector2DF(0.5f, 0.5f);

        // グループを設定する。
        obj2.CameraGroup = 2;
        asd.Engine.AddObject2D(obj2);

        // カメラを設定する。
        var camera = new asd.CameraObject2D();

        camera.Src = new asd.RectI(0, 0, 640, 480);
        camera.Dst = new asd.RectI(0, 0, 640, 480);

        // グループを設定する。
        camera.CameraGroup = 2;
        asd.Engine.AddObject2D(camera);

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

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

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

        // テクスチャを描画するオブジェクトを設定する。
        var obj0 = new asd.TextureObject2D();

        obj0.Texture  = tex0;
        obj0.Position = new asd.Vector2DF(10, 10);
        obj0.Scale    = new asd.Vector2DF(0.7f, 0.7f);
        asd.Engine.AddObject2D(obj0);

        //画面全体を写すカメラを設定する。(オブジェクトをそのまま描画する。)
        var entityCamera = new asd.CameraObject2D();

        entityCamera.Src = new asd.RectI(0, 0, 640, 480);
        entityCamera.Dst = new asd.RectI(0, 0, 640, 480);
        asd.Engine.AddObject2D(entityCamera);

        //テクスチャの左上から縦横150ピクセルを切り取って描画するカメラを設定する。
        var camera = new asd.CameraObject2D();

        camera.Src = new asd.RectI(10, 10, 150, 150);
        camera.Dst = new asd.RectI(450, 10, 150, 150);
        asd.Engine.AddObject2D(camera);

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

        // Altseedを終了する。
        asd.Engine.Terminate();
    }
예제 #4
0
    public SampleBrowserLayer(SampleBrowser browser, ISample[] samples)
    {
        Name         = "BrowserLayer";
        this.browser = browser;
        items        = new List <SampleItem>();

        var font  = asd.Engine.Graphics.CreateDynamicFont("", 12, new asd.Color(255, 255, 255, 255), 1, new asd.Color(0, 0, 0, 255));
        int index = 0;

        foreach (var sample in samples)
        {
            var item = new SampleItem(sample, font);
            var x    = ItemOffset.X * (index % Columns) + 8;
            var y    = ItemOffset.Y * (index / Columns) + 8 + 20;
            item.Position = new asd.Vector2DF(x, y);
            AddObject(item);
            items.Add(item);

            index++;
        }

        var isThereJut = index % Columns == 0;

        if (isThereJut)
        {
            TotalHeight = ItemOffset.Y * (index / Columns) + 8 + 20;
        }
        else
        {
            TotalHeight = ItemOffset.Y * (index / Columns + 1) + 8 + 20;
        }


        camera     = new asd.CameraObject2D();
        camera.Src = new asd.RectI(0, 0, 640, 480);
        camera.Dst = new asd.RectI(0, 0, 640, 480);
        AddObject(camera);
    }
예제 #5
0
    public void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("CameraObject2D_Basic", 640, 480, new asd.EngineOption());

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

        // テクスチャを描画するオブジェクトを設定する。
        var obj0 = new asd.TextureObject2D();
        obj0.Texture = tex0;
        obj0.Position = new asd.Vector2DF(10, 10);
        obj0.Scale = new asd.Vector2DF(0.7f, 0.7f);
        asd.Engine.AddObject2D(obj0);

        //画面全体を写すカメラを設定する。(オブジェクトをそのまま描画する。)
        var entityCamera = new asd.CameraObject2D();
        entityCamera.Src = new asd.RectI(0, 0, 640, 480);
        entityCamera.Dst = new asd.RectI(0, 0, 640, 480);
        asd.Engine.AddObject2D(entityCamera);

        //テクスチャの左上から縦横150ピクセルを切り取って描画するカメラを設定する。
        var camera = new asd.CameraObject2D();
        camera.Src = new asd.RectI(10, 10, 150, 150);
        camera.Dst = new asd.RectI(450, 10, 150, 150);
        asd.Engine.AddObject2D(camera);

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

        // Altseedを終了する。
        asd.Engine.Terminate();
    }
예제 #6
0
		public ScrollBoundViewer(ScrollLayer scrollLayer)
		{
			IsDrawn = false;
			this.scrollLayer = scrollLayer;
			debugCamera = new CameraObject2D()
			{
				Src = new RectI(
					(scrollLayer.BoundaryStartingPosition - new Vector2DF(30, 30)).To2DI(),
					(scrollLayer.BoundaryEndingPosition - scrollLayer.BoundaryStartingPosition + new Vector2DF(60, 60)).To2DI()),
				Dst = new RectI(Engine.WindowSize.X / 2, 0, Engine.WindowSize.X / 2, Engine.WindowSize.Y),
			};
			outerBinding = new GeometryObject2D()
			{
				DrawingPriority = -3,
				Color = new Color(255, 0, 0, 128),
			};
			innerBinding = new GeometryObject2D()
			{
				DrawingPriority = -1,
				Color = new Color(0, 0, 255, 128),
			};
			cameraBinding = new GeometryObject2D()
			{
				DrawingPriority = -2,
				Color = new Color(0, 255, 0, 128),
			};
            seeingArea = new GeometryObject2D()
            {
                DrawingPriority = -2,
                Color = new Color(255, 255, 0, 100),
            };
			AddChild(debugCamera, ChildManagementMode.RegistrationToLayer | ChildManagementMode.Disposal, ChildTransformingMode.Nothing);
			AddChild(outerBinding, ChildManagementMode.RegistrationToLayer | ChildManagementMode.Disposal, ChildTransformingMode.Nothing);
			AddChild(innerBinding, ChildManagementMode.RegistrationToLayer | ChildManagementMode.Disposal, ChildTransformingMode.Nothing);
			AddChild(cameraBinding, ChildManagementMode.RegistrationToLayer | ChildManagementMode.Disposal, ChildTransformingMode.Nothing);
			AddChild(seeingArea, ChildManagementMode.RegistrationToLayer | ChildManagementMode.Disposal, ChildTransformingMode.Nothing);
        }
예제 #7
0
		/// <summary>
		/// ScrollLayer クラスを初期化します。
		/// </summary>
		public ScrollLayer()
		{
			camera_ = new CameraObject2D();
			AddObject(camera_);
			getCameraMoving_ = p => Observable.Return(camera_.Src.ToF().WithPosition(p));
		}
예제 #8
0
    public void Run()
    {
        // Altseedを初期化する
        asd.Engine.Initialize("MapObject2D_Camera", 640, 480, new asd.EngineOption());

        //カメラを設定する。
        var camera = new asd.CameraObject2D();

        camera.Src = new asd.RectI(0, 0, 640, 480);
        camera.Dst = new asd.RectI(0, 0, 640, 480);

        {
            //マップオブジェクトを生成する。
            var mapObject = new asd.MapObject2D();

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

            //マップオブジェクトに50*50=2500個のチップを登録する。
            for (int i = 0; i < 50; ++i)
            {
                for (int j = 0; j < 50; ++j)
                {
                    //チップを生成する。
                    var chip = new asd.Chip2D();

                    //チップにテクスチャを設定する。
                    chip.Texture = texture;

                    //チップの描画先を指定する。
                    chip.Position = new asd.Vector2DF(i * 40 - 1000, j * 40 - 1000);

                    //マップオブジェクトにチップを追加する。
                    mapObject.AddChip(chip);
                }
            }

            //レイヤーにマップオブジェクトを追加する。
            asd.Engine.AddObject2D(mapObject);

            //レイヤーにカメラオブジェクトを追加する。
            asd.Engine.AddObject2D(camera);
        }

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            //カメラを移動させる
            var pos = camera.Src;
            pos.X += 1;
            pos.Y += 1;
            pos.X %= 1000;
            pos.Y %= 1000;
            camera.Src = pos;

            // Altseedを更新する。
            asd.Engine.Update();
            Recorder.CaptureScreen("MapObject2D_Camera", 0, 8, 0.2f, 0.5f);
        }

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


        // 画像を読み込み、画像描画オブジェクトを設定する。
        {
            var tex0 = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");
            var obj0 = new asd.TextureObject2D();
            obj0.Texture        = tex0;
            obj0.CenterPosition = new asd.Vector2DF(256, 256);
            obj0.Position       = new asd.Vector2DF(320, 240);
            obj0.Scale          = new asd.Vector2DF(0.5f, 0.5f);

            asd.Engine.AddObject2D(obj0);
        }

        //一つ目の画面全体を写すカメラ。(オブジェクトをそのまま描画する。)
        {
            var camera1 = new asd.CameraObject2D();
            camera1.Src = new asd.RectI(0, 0, 640, 480);
            camera1.Dst = new asd.RectI(0, 0, 640, 480);
            asd.Engine.AddObject2D(camera1);
        }

        //二つ目のマウスポインタの周辺を拡大して表示するカメラ。
        var camera2 = new asd.CameraObject2D();

        asd.Engine.AddObject2D(camera2);

        //フレーム用画像を読み込む。
        var frame = new asd.TextureObject2D();

        {
            var tex = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Frame.png");
            frame.Texture        = tex;
            frame.CenterPosition = new asd.Vector2DF(55.0f, 55.0f);

            asd.Engine.AddObject2D(frame);
        }

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            //マウスポインタの位置を取得する。
            var pos = asd.Engine.Mouse.Position;

            //拡大用カメラの描画元を指定する。
            camera2.Src = new asd.RectI((int)(pos.X) - 25, (int)(pos.Y) - 25, 50, 50);

            //ポインタを中心に100x100の拡大画像を表示する。
            camera2.Dst = new asd.RectI((int)(pos.X) - 50, (int)(pos.Y) - 50, 100, 100);

            //フレーム画像の描画中心をマウスポインタの位置に合わせる。
            frame.Position = pos;

            // Altseedを更新する。
            asd.Engine.Update();
            Recorder.CaptureScreen("CameraObject2D_Magnify", 30, 60, 0.2f, 0.5f);
            Recorder.TakeScreenShot("CameraObject2D_Magnify", 30);
        }

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

        //カメラを設定する。
        var camera = new asd.CameraObject2D();

        camera.Src = new asd.RectI(0, 0, 640, 480);
        camera.Dst = new asd.RectI(0, 0, 640, 480);

        {
            //マップオブジェクトを生成する。
            var mapObject = new asd.MapObject2D();

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

            //マップオブジェクトに50*50=2500個のチップを登録する。
            for (int i = 0; i < 50; ++i)
            {
                for (int j = 0; j < 50; ++j)
                {
                    //チップを生成する。
                    var chip = new asd.Chip2D();

                    //チップにテクスチャを設定する。
                    chip.Texture = texture;

                    //チップの描画先を指定する。
                    chip.Position = new asd.Vector2DF(i * 40 - 1000, j * 40 - 1000);

                    //マップオブジェクトにチップを追加する。
                    mapObject.AddChip(chip);
                }
            }

            //レイヤーにマップオブジェクトを追加する。
            asd.Engine.AddObject2D(mapObject);

            //レイヤーにカメラオブジェクトを追加する。
            asd.Engine.AddObject2D(camera);
        }

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            //カメラを移動させる
            var pos = camera.Src;
            pos.X     += 1;
            pos.Y     += 1;
            pos.X     %= 1000;
            pos.Y     %= 1000;
            camera.Src = pos;

            // Altseedを更新する。
            asd.Engine.Update();
            Recorder.CaptureScreen("MapObject2D_Camera", 0, 8, 0.2f, 0.5f);
            Recorder.TakeScreenShot("MapObject2D_Camera", 20);
        }

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

        // 画像を読み込み、画像描画オブジェクトを設定する。
        {
            var tex0 = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");
            var obj0 = new asd.TextureObject2D();
            obj0.Texture = tex0;
            obj0.CenterPosition = new asd.Vector2DF(256, 256);
            obj0.Position = new asd.Vector2DF(320, 240);
            obj0.Scale = new asd.Vector2DF(0.5f, 0.5f);

            asd.Engine.AddObject2D(obj0);
        }

        //一つ目の画面全体を写すカメラ。(オブジェクトをそのまま描画する。)
        {
            var camera1 = new asd.CameraObject2D();
            camera1.Src = new asd.RectI(0, 0, 640, 480);
            camera1.Dst = new asd.RectI(0, 0, 640, 480);
            asd.Engine.AddObject2D(camera1);
        }

        //二つ目のマウスポインタの周辺を拡大して表示するカメラ。
        var camera2 = new asd.CameraObject2D();
        asd.Engine.AddObject2D(camera2);

        //フレーム用画像を読み込む。
        var frame = new asd.TextureObject2D();
        {
            var tex = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Frame.png");
            frame.Texture = tex;
            frame.CenterPosition = new asd.Vector2DF(55.0f, 55.0f);

            asd.Engine.AddObject2D(frame);
        }

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            //マウスポインタの位置を取得する。
            var pos = asd.Engine.Mouse.Position;

            //拡大用カメラの描画元を指定する。
            camera2.Src = new asd.RectI((int)(pos.X) - 25, (int)(pos.Y) - 25, 50, 50);

            //ポインタを中心に100x100の拡大画像を表示する。
            camera2.Dst = new asd.RectI((int)(pos.X) - 50, (int)(pos.Y) - 50, 100, 100);

            //フレーム画像の描画中心をマウスポインタの位置に合わせる。
            frame.Position = pos;

            // Altseedを更新する。
            asd.Engine.Update();
            Recorder.CaptureScreen("CameraObject2D_Magnify", 30, 60, 0.2f, 0.5f);
        }

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