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); }
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(); }
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(); }
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); }
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); }
/// <summary> /// ScrollLayer クラスを初期化します。 /// </summary> public ScrollLayer() { camera_ = new CameraObject2D(); AddObject(camera_); getCameraMoving_ = p => Observable.Return(camera_.Src.ToF().WithPosition(p)); }
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(); }
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(); }
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(); }
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(); }