/** TaskMain */ private int TaskMain(int a_layer_index) { try{ //start_index int a_index_start = this.layerlist.GetStartIndex_Sprite(a_layer_index); int a_index_last = this.layerlist.GetLastIndex_Sprite(a_layer_index); //計算。 if ((a_index_start >= 0) && (a_index_last >= 0)) { for (int ii = a_index_start; ii <= a_index_last; ii++) { Sprite2D t_sprite = this.spritelist.GetItem(ii); if ((t_sprite.IsVisible() == true) && (t_sprite.GetDrawPriority() >= 0)) { this.screen.CalcSprite(t_sprite); } } } }catch (System.Exception t_exception) { Tool.DebugReThrow(t_exception); } return(0); }
public void CalculateScore(Sprite2D i_Sprite2D, ICollidable i_CollidedWithBullet) { if ((i_Sprite2D as Bullet).Shooter is Ship) { GetPlayer(((i_Sprite2D as Bullet).Shooter as Ship).PlayerIndex).Score += i_CollidedWithBullet.Score; } }
private Node CreateWheel(Sprite2D wspr, Node basenode, Vector2 relPos) { var w1 = CreateSpriteNode(scene, wspr); w1.GetComponent <RigidBody2D>().SetBullet(true); var c = AddCollider <CollisionCircle2D>(w1); c.SetRadius(1.25f); //ConstraintRevolute2D wj1 = basenode.CreateComponent<ConstraintRevolute2D>(); //wj1.SetOtherBody(w1.GetComponent<RigidBody2D>()); //w1.SetPosition2D(relPos); //wj1.SetAnchor(relPos); ConstraintWheel2D wj1 = basenode.CreateComponent <ConstraintWheel2D>(); wj1.SetOtherBody(w1.GetComponent <RigidBody2D>()); w1.SetPosition2D(relPos); wj1.SetAnchor(relPos); wj1.SetAxis(Vector2.UnitY); wj1.SetFrequencyHz(4); wj1.SetDampingRatio(0.4f); var ep = scene.CreateChild(); ep.SetPosition(new Vector3(-2f, -1, 14)); pe = ep.CreateComponent <ParticleEmitter2D>(); pe.SetEffect(cache.GetResource <ParticleEffect2D>("particles/dust.pex")); activeWheels.Add(new WheelData { rb = w1.GetComponent <RigidBody2D>(), pe = pe }); return(w1); }
public override void OnLoad() { BackgroundColor = Color.Black; CameraZoom = new Vector2(.75f, .7f); // player = new Shape2D(new Vector2(10, 10), new Vector2(10, 10), "shape test"); // player = new Sprite2D(new Vector2(10, 10), new Vector2(36, 45), "Players/Player Green/playerGreen_swim2", "shape test"); for (int i = 0; i < Map.GetLength(1); i++) { for (int j = 0; j < Map.GetLength(0); j++) { if (Map[j, i] == "g") { new Sprite2D(new Vector2(i * 50, j * 50), new Vector2(50, 50), "Tiles/Blue tiles/tileBlue_03", "Ground"); } if (Map[j, i] == "c") { new Sprite2D(new Vector2(i * 50, j * 50), new Vector2(15, 15), "Items/yellowCrystal", "Coin"); } if (Map[j, i] == "p") { player = new Sprite2D(new Vector2(i * 50, j * 20), new Vector2(30, 40), "Players/Player Green/playerGreen_walk1", "Player"); } } } // player = new Sprite2D(new Vector2(100, 100), new Vector2(30, 40), "Players/Player Green/playerGreen_walk1", "Player"); // player2 = new Sprite2D(new Vector2(80, 30), new Vector2(30, 40), "Players/Player Green/playerGreen_walk1", "Player2"); }
public static Node CreateBalanceObject(Game GameInstance, BaseScene scene, string objectName, ScreenInfoRatio _screenInfo, Vector3 verticalOffset) { Node node = scene.CreateChild(objectName); node.Position = verticalOffset; node.Scale = new Vector3(0.8f, 0.8f, 0.8f); // Create rigid body RigidBody2D body = node.CreateComponent <RigidBody2D>(); body.BodyType = BodyType2D.Dynamic; // TODO: select proper balance object Sprite2D boxSprite = GameInstance.ResourceCache.GetSprite2D(AssetsCoordinates.Level.BalanceObjects.ResourcePath); boxSprite.Rectangle = AssetsCoordinates.Level.BalanceObjects.JukeBox; //Sprite2D boxSprite = GameInstance.ResourceCache.GetSprite2D("Urho2D/Box.png"); StaticSprite2D staticSprite = node.CreateComponent <StaticSprite2D>(); staticSprite.Sprite = boxSprite; // Create box CollisionBox2D box = node.CreateComponent <CollisionBox2D>(); // Set size box.Size = new Vector2(0.25f, 0.25f); // Set density box.Density = 0.6f; // Set friction box.Friction = 1.0f; // Set restitution box.Restitution = 0.1f; return(node); }
public static void Assign(Sprite2D btn) { Global.gMouseHelper.Register(btn); btn.ClearState(); Storyboard sb = new Storyboard(); sb.AddAnimation(new ColorAnimation(sb, btn, 0.3f, new Vector4(255, 255, 255, 255), false)); btn.AddNewState(sb); sb = new Storyboard(); sb.AddAnimation(new ColorAnimation(sb, btn, 0.3f, new Vector4(255, 0, 255, 255), false)); btn.AddNewState(sb); sb = new Storyboard(); sb.AddAnimation(new ScaleAnimation(sb, btn, 0.1f, new Vector2(0.95f, 0.95f), true, null, false, false, true)); btn.AddNewState(sb); btn.OnMouseMove += btn_OnMouseMove; btn.OnMouseLeave += btn_OnMouseLeave; btn.OnMouseDown += btn_OnMouseDown; btn.OnMouseUp += btn_OnMouseUp; }
private void InitializeExitButton(Texture2D buttonTexture) { exitButton = new Button(new Sprite2D(buttonTexture, new Rectangle(980, 300, 200, 200))); exitButton.Angle = 0.2f; exitButton.HoverAnimation = new Animation.ButtonAnimation(null, new Rectangle(980, 300, 220, 220), null); exitButton.UnHoverAnimation = new Animation.ButtonAnimation(null, new Rectangle(980, 300, 200, 200), null); exitButton.Click += new EventHandler((s, e) => { screenManager.ExitGame(); }); closedDoor = new Sprite2D(_content.Load <Texture2D>("Sprites/ClosedDoor"), new Rectangle(0, 0, 50, 100)); closedDoor.Center(exitButton.Bounds); closedDoor.Angle = 0.2f; openDoor = new Sprite2D(_content.Load <Texture2D>("Sprites/OpenDoor"), new Rectangle(0, 0, 50, 100)); openDoor.Center((Rectangle)exitButton.HoverAnimation.Bounds); openDoor.Show = false; openDoor.Angle = 0.2f; exitButton.Hover += new EventHandler((s, e) => { openDoor.Show = true; closedDoor.Show = false; }); exitButton.UnHover += new EventHandler((s, e) => { openDoor.Show = false; closedDoor.Show = true; }); }
public CardFactory(Game game) : base(game) { //setup gallery spriteGallery = new Dictionary <string, Sprite2D>(); backImages = new Queue <Sprite2D>(); outline = null; }
public void Initialize(ContentManager content, GraphicsDevice graphics) { //Background background = new Sprite2D(content.Load <Texture2D>("Sprites/ColorChooserBackground"), new Rectangle(585, 100, 250, 200)); //Extra exitBtn = new Button(new Sprite2D(content.Load <Texture2D>("Sprites/XMark"), new Rectangle(background.Bounds.X, background.Bounds.Y, 20, 20))); exitBtn.Click += new EventHandler((sender, e) => { OnExitButtonClick(); }); //RGB slideTexture = content.Load <Texture2D>("Sprites/Colorbar"); markTexture = content.Load <Texture2D>("Sprites/ColorMarker"); red = new SlideBar(slideTexture, markTexture, new Rectangle(background.Bounds.X + 25, background.Bounds.Y + 28, 200, 30), new Rectangle(0, 0, 10, 30), 0, 0); green = new SlideBar(slideTexture, markTexture, new Rectangle(background.Bounds.X + 25, background.Bounds.Y + 28 + 28 + 30, 200, 30), new Rectangle(0, 0, 10, 30), 0, 0); blue = new SlideBar(slideTexture, markTexture, new Rectangle(background.Bounds.X + 25, background.Bounds.Y + 28 + 28 + 28 + 60, 200, 30), new Rectangle(0, 0, 10, 30), 0, 0); red.UpperRange = 255; green.UpperRange = 255; blue.UpperRange = 255; red.ValueChange += On_ValueChange; blue.ValueChange += On_ValueChange; green.ValueChange += On_ValueChange; green.SlideColor = Color.Green; red.SlideColor = Color.Red; blue.SlideColor = Color.Blue; }
static public Entity CreateSquare(Entity image, Color color, float cx = 0, float cy = 0, float cz = 0, float w = 1, float h = 1, float pixelsToWorldUnits = 1f) { var e = entityManager.CreateEntity(); entityManager.AddComponent(e, typeof(Parent)); entityManager.AddComponentData(e, new Translation() { Value = new float3(cx, cy, cz) }); entityManager.AddComponentData(e, new NonUniformScale() { Value = new float3(w, h, 1) }); var spr = new Sprite2DRenderer(); spr.color = color; spr.blending = BlendOp.Alpha; entityManager.AddComponentData(e, spr); var sp = new Sprite2D(); sp.imageRegion = new Rect(0f, 0f, 1f, 1f); sp.pivot = new float2(0.5f, 0.5f); sp.image = image; sp.pixelsToWorldUnits = pixelsToWorldUnits; entityManager.AddComponentData(e, sp); return(e); }
private void InitializeOptionsButton(Texture2D buttonTexture) { settingsButton = new Button(new Sprite2D(buttonTexture, new Rectangle(540, 280, 200, 200))); settingsButton.HoverAnimation = new Animation.ButtonAnimation(null, new Rectangle(530, 280, 220, 220), null); settingsButton.UnHoverAnimation = new Animation.ButtonAnimation(null, new Rectangle(540, 280, 200, 200), null); Texture2D gearTexture = _content.Load <Texture2D>("Sprites/Gear"); gearSprite = new Sprite2D(gearTexture, new Rectangle(0, 0, 100, 100)); gearSprite.Center(settingsButton.Bounds); smallGearSprite = new Sprite2D(gearTexture, new Rectangle(0, 0, 50, 50)); smallGearSprite.Location = gearSprite.Location + new Vector2(80, -20); smallGearSprite.Angle = -0.13f; settingsButton.Hover += new EventHandler((s, e) => { gearSprite.Center(settingsButton.Bounds); smallGearSprite.Location = gearSprite.Location + new Vector2(80, -20); }); settingsButton.UnHover += new EventHandler((s, e) => { gearSprite.Center(settingsButton.Bounds); gearSprite.Angle = 0; smallGearSprite.Location = gearSprite.Location + new Vector2(80, -20); smallGearSprite.Angle = -0.13f; }); settingsButton.Click += new EventHandler((s, e) => { screenManager.PopScreen(); screenManager.PushScreen(new SettingsScreen()); }); }
public DrawableCard ReturnTurnedDrawable(Hanafuda card) { Sprite2D back = GetBackImage(); back.Initialize(); return(new DrawableCard(Game, card, back)); }
public void RetrieveBackImage(DrawableCard drawable) { Sprite2D frontImg = RetrieveFromGallery(drawable.Card); Sprite2D retrieved = drawable.RetrieveImage(frontImg); backImages.Enqueue(retrieved); }
// Convenience function to create node with sprite and rigidbody (optional) static Vehicle CreateVehicle(Vector2 position) { Node vehicleNode = CreateSpriteNode(Cache.Get <Sprite2D>("characters/truck/vehicle.png"), 1.4f); // We create the vehicle and the chassis (CreateChassis returns the Vehicle for convenience) Vehicle vehicle = vehicleNode.CreateComponent <Vehicle>().CreateChassis( new Vector2(-0.1f, 0.4f), 1.4f, 5, new Vector3(-2f, -1, 14), Cache.Get <ParticleEffect2D>("particles/smoke.pex"), Cache.Get <Sound>("sounds/engine_sound_crop.wav"), Cache.Get <Sound>("sounds/tires_squal_loop.wav"), new [] { Cache.Get <Sound>("sounds/susp_1.wav"), Cache.Get <Sound>("sounds/susp_3.wav") }, 300, 50, 5, 1500); // We create the wheels Sprite2D wspr = Cache.Get <Sprite2D>("characters/truck/wheel.png"); Node w1 = vehicle.CreateWheel( wspr, new Vector2(1.5f, -1.5f), 1.25f, 4, 0.4f, Cache.Get <ParticleEffect2D>("particles/dust.pex"), 2.6f); Node w2 = vehicle.CreateWheel( wspr, new Vector2(-1.8f, -1.5f), 1.25f, 4, 0.4f, Cache.Get <ParticleEffect2D>("particles/dust.pex"), 2.6f); // We create the head Node head = vehicle.CreateHead( Cache.Get <Sprite2D>("characters/truck/head.png"), new Vector3(-1, 2.7f, -1), 1f, new Vector2(-1, 1.8f)); // We position the vehicle foreach (Node node in new [] { vehicleNode, w1, w2, head }) { node.Translate2D(position); } return(vehicle); }
public override void OnLoad() { BackgroundColor = Color.Black; Sprite2D groundRef = new Sprite2D(new Vector2(50, 50), "Tiles/ground"); Sprite2D coinRef = new Sprite2D(new Vector2(50, 50), "Collectables/star"); //player = new Sprite2D(new Vector2(10, 10), new Vector2(91, 80),"Players/skull" , "Player"); for (int i = 0; i < Map.GetLength(1); i++) { for (int j = 0; j < Map.GetLength(0); j++) { if (Map[j, i] == "g") { new Sprite2D(new Vector2(i * 50, j * 50), new Vector2(50, 50), groundRef, "Ground"); } if (Map[j, i] == "c") { new Sprite2D(new Vector2(i * 50, j * 50), new Vector2(50, 50), coinRef, "Coin"); } if (Map[j, i] == "p") { player = new Sprite2D(new Vector2(i * 50 + 5, j * 50 + 5), new Vector2(40, 40), "Players/skull", "Player"); } } } //player2 = new Sprite2D(new Vector2(100, 0), new Vector2(200, 200), "Players/skull", "Player2"); }
public static void Assign(Sprite2D btn) { Global.gMouseHelper.Register(btn); btn.ClearState(); btn.SetOverlay(new Vector4(0, 0, 0, 0)); Storyboard sb = new Storyboard(); sb.AddAnimation(new ColorAnimation(sb, btn, 0.3f, new Vector4(0, 0, 0, 0), false)); btn.AddNewState(sb); sb = new Storyboard(); sb.AddAnimation(new ColorAnimation(sb, btn, 0.3f, new Vector4(255, 255, 255, 255), false)); btn.AddNewState(sb); sb = new Storyboard(); sb.AddAnimation(new ColorAnimation(sb, btn, 0.1f, new Vector4(255, 230, 230, 230), false)); btn.AddNewState(sb); btn.OnMouseMove += btn_OnMouseMove; btn.OnMouseLeave += btn_OnMouseLeave; btn.OnMouseDown += btn_OnMouseDown; btn.OnMouseUp += btn_OnMouseUp; }
protected virtual void CloneSpriteInfo() { if (m_OriginalSpriteInfo == null) { m_OriginalSpriteInfo = m_BoundSprite.ShallowClone(); } }
public void Run() { Sprite2D sprite = new Sprite2D(); sprite.SetSize(100, 100); sprite.SetImage(@"C:\Develop\MyGame\Textures\sprite.png"); sprite.Move(50, 50); }
public MenuItemsScreen(string i_HeadLineAssetName, Game i_Game) : base(i_Game) { m_GameManager = Game.Services.GetService(typeof(IGameManager)) as IGameManager; this.Add(new Background(i_Game, Color.DarkGray)); this.Add(m_HeadLine = new Sprite2D(i_HeadLineAssetName, i_Game)); m_ListItems = new List <SpriteMenuItem>(); }
/** 登録。 */ public void Regist(Sprite2D a_item) { //list this.list.Add(a_item); //sort_request_flag this.sort_request_flag = true; }
/** 作成。 * * 「DRAWPRIORITY_STEP」ごとに描画カメラが切り替わる。 * 同一カメラ内では必ずテキストが上に表示される。 * テキストの上にスプライトを表示する場合は、描画カメラが切り替わるようにプライオリィを設定する必要がある。 * */ public static Sprite2D Create(Fee.Deleter.Deleter a_deleter, long a_drawpriority) { Sprite2D t_this = Fee.Render2D.Render2D.GetInstance().GetSpriteList().PoolNew(); { //どこから確保されたのか。 #if (UNITY_EDITOR) { try{ System.Diagnostics.StackFrame t_stackframe = new System.Diagnostics.StackFrame(1); if (t_stackframe != null) { if (t_stackframe.GetMethod() != null) { t_this.debug = t_stackframe.GetMethod().ReflectedType.FullName + " : " + t_stackframe.GetMethod().Name; } } }catch (System.Exception t_exception) { Tool.DebugReThrow(t_exception); } } #endif //表示フラグ。 t_this.visible = true; //削除フラグ。 t_this.is_delete_request = false; Render2D.GetInstance().Sprite2D_Regist(t_this); //描画プライオリティ。 t_this.drawpriority = a_drawpriority; //位置。 //t_this.pos; //回転。 t_this.rotate.InitializeFromPool(); //param t_this.param.InitializeFromPool(); //vertex t_this.vertex_recalc = true; //texcood t_this.texcood_recalc = true; //callback_materialupdate t_this.callback_materialupdate = t_this; //削除管理。 if (a_deleter != null) { a_deleter.Regist(t_this); } } return(t_this); }
public ChangeTextureAnimation(Storyboard sb, Sprite2D sprite, List <Texture2D> to, bool isInfinite = true, bool isReserveProperty = false) { this.isReserveProperty = isReserveProperty; this.to = to; this.sprite = sprite; this.original = sprite.Textures; this.isInfinite = isInfinite; this.storyboard = sb; }
public LevelTransitionScreen(Game i_Game, int i_Level) : base(i_Game) { IsOverlayed = true; creatTextBlock(i_Level); this.Add(new Background(i_Game)); this.Add(m_Counter = new Sprite2D(@"Sprites\Titles\Countdown", this.Game)); }
public void LoadContent(ContentManager content) { _fontVisitor = content.Load <SpriteFont>(@"fonts/visitor"); _textTesting = new Text(_fontVisitor, "Testing", Vector2.Zero, Align.CenterMid, Color.White, TextAlignment.CenterMid); _textPlay = new Text(_fontVisitor, "Play", new Vector2(0, 50), Align.CenterMid, Color.White, TextAlignment.CenterMid); _textQuit = new Text(_fontVisitor, "Quit Game", new Vector2(0, 100), Align.CenterMid, Color.White, TextAlignment.CenterMid); _textTestMap = new Text(_fontVisitor, "Test Map", new Vector2(0, 10), Align.Right, Color.Red, TextAlignment.Right); _spriteTest = new Sprite2D(content, @"sprites/objects/warpBall", Vector2.Zero, Color.White, 0, null, 0.5f, SpriteEffects.None, 0); }
public Sprite2D RetrieveOutline() { if (outline != null) { return(outline); } outline = new OutlineImage(Game); outline.Initialize(); return(outline); }
public GameOverScreen(Game i_Game) : base(i_Game) { m_Background = new Background(i_Game, Color.Red); m_GameOverMessage = new Sprite2D(@"Sprites\Titles\gameover", i_Game); creatTextBlocks(); this.Add(m_Background); this.Add(m_GameOverMessage); this.Add(m_TextBlockcsOne); this.Add(m_TextBlockcsTwo); m_GameManager = Game.Services.GetService(typeof(IGameManager)) as IGameManager; }
// Create a node with a sprite and optionally set scale and add a RigidBody2D component public static Node CreateSpriteNode(Sprite2D sprite, Node parent, float scale = 1f, bool addRigidBody = true) { Node n = parent.CreateChild(); n.SetScale2D(Vector2.One * scale); n.CreateComponent <StaticSprite2D>().SetSprite(sprite); if (addRigidBody) { n.CreateComponent <RigidBody2D>().SetBodyType(BodyType2D.BT_DYNAMIC); } return(n); }
/** [Fee.Render2D.OnSprite2DMaterialUpdate_CallBackInterface]マテリアルの更新。描画の直前に呼び出される。 * * デフォルト。 * */ public bool OnSprite2DMaterialUpdate(Sprite2D a_sprite2d, MaterialItem a_material_item) { bool t_setpass = false; //メインテクスチャー設定。 if (a_material_item.SetProperty_MainTexture(a_sprite2d.GetTexture()) == true) { t_setpass = true; } return(t_setpass); }
public CellAnimator(Sprite2D i_BoundSprite, TimeSpan i_CellTime, int i_NumOfCells, int i_FrameColIndex, int i_FrameRowIndex, TimeSpan i_AnimationLength) : base("CelAnimation", i_AnimationLength) { this.m_CellTime = i_CellTime; this.m_TimeLeftForCell = i_CellTime; this.r_NumOfCells = i_NumOfCells; this.m_CurrColCellIdx = i_FrameColIndex; this.m_CurrRowCellIdx = i_FrameRowIndex; this.BoundSprite = i_BoundSprite; m_Loop = i_AnimationLength == TimeSpan.Zero; }
// Create a map tile // <scene> is the Urho scene // <sprite> is the tile's sprite // <pos> is the position of the tile public MapTile(Scene scene, Sprite2D sprite, Vector2 pos) { WorldNode = scene.CreateChild(); WorldNode.Position = new Vector3(pos); WorldNode.SetScale(1f / 0.7f); StaticSprite2D nodeSprite = WorldNode.CreateComponent <StaticSprite2D>(); nodeSprite.Sprite = sprite; WorldHitbox = new Hitbox(); //WorldHitbox.Size = new Vector2(1, 1); }
public CustomSprite(Sprite2D sprite) { var rect = new Rect(); sprite.GetTextureRectangle(ref rect); TexCoordTL = rect.Min; TexCoordBR = rect.Max; Height = (int) (rect.Height * 128); Width = (int) (rect.Width * 128); Texture = sprite.Texture; }
public void Start() { viewport = AtomicNET.GetSubsystem<Renderer>().GetViewport(0); boxSprite = AtomicNET.Cache.GetResource<Sprite2D>("Sprites/Box.png"); ballSprite = AtomicNET.Cache.GetResource<Sprite2D>("Sprites/Ball.png"); var ground = Scene.CreateChild("Ground"); ground.Position = new Vector3(0.0f, -5.0f, 0.0f); ground.Scale = new Vector3(200.0f, 1.0f, 0.0f); ground.CreateComponent<RigidBody2D>(); ground.CreateComponent<StaticSprite2D>().Sprite = boxSprite; // Create box collider for ground var groundShape = ground.CreateComponent<CollisionBox2D>(); // Set box size groundShape.Size = new Vector2(0.32f, 0.32f); // Set friction groundShape.Friction = 0.5f; }
public BunnyMark () { var player = Atomic.GetSubsystem<Player> (); player.LoadScene ("Scenes/Scene.scene"); scene = player.CurrentScene; SubscribeToEvent ("Update", handleUpdate); SubscribeToEvent ("MouseButtonDown", handleMouseButtonDown); SubscribeToEvent ("MouseButtonUp", handleMouseButtonUp); var graphics = Atomic.GetSubsystem<Graphics> (); var cache = Atomic.GetSubsystem<ResourceCache> (); halfWidth = graphics.Width * pixelSize * 0.5f; halfHeight = graphics.Height * pixelSize * 0.5f; maxX = halfWidth; minX = -halfWidth; maxY = halfHeight; minY = -halfHeight; // TODO: generic version of this var sheet = (SpriteSheet2D)cache.GetResource ("SpriteSheet2D", "Sprites/bunnys_sheet.xml"); var bunny1 = sheet.GetSprite ("bunny1"); var bunny2 = sheet.GetSprite ("bunny2"); var bunny3 = sheet.GetSprite ("bunny3"); var bunny4 = sheet.GetSprite ("bunny4"); var bunny5 = sheet.GetSprite ("bunny5"); bunnyTextures = new Sprite2D[] { bunny1, bunny2, bunny3, bunny4, bunny5 }; bunnyType = 2; currentTexture = bunnyTextures [bunnyType]; }
// Use this for initialization void Start() { mSprite = (Sprite2D)GetComponent(typeof(Sprite2D)); }
public static void Draw(this SpriteBatch spriteBatch, Sprite2D sprite2D) { spriteBatch.Draw(ContentHandler.Retrieve<Texture2D>(sprite2D.TextureName), sprite2D.Position, null, sprite2D.ForegroundColor, sprite2D.Rotation, sprite2D.Origin, sprite2D.Scale, sprite2D.SpriteEffect, 0); }
private async Task MariusCvStitch() { _currentMapping = _dataExchangeService.Payload["CurrentMapping"] as Mapping; await _downloadCache.GetAndCacheFile(_currentMapping.Measurements.First().ImageUrl); var img1Path = _currentMapping.Measurements.First().ImageUrl; var img2Path = _currentMapping.Measurements.ElementAt(1).ImageUrl; var imageStitcher = Mvx.Resolve<IImageStitcher>(); var panoBytes = await imageStitcher.StitchImages(new List<string>() { img1Path, img2Path }); Directory.CreateDirectory($"/data/data/de.marius.depthviewer/files/_Caches/Pictures.MvvmCross/"); var docsDirPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var path = Path.Combine(docsDirPath, $"s{DateTime.Now.Millisecond}s.jpg"); System.IO.File.WriteAllBytes(path, panoBytes); InvokeOnMain(() => { var stitchNode = _scene.CreateChild("StitchedNode"); stitchNode.Position = new Vector3(0, 0, -2); stitchNode.SetScale(1.0f); //await PlaceSpriteInNode(path, stitchNode); // Display in sprite var sprite = new Sprite2D(); var imgFile = new File(Context, path, FileMode.Read); sprite.Load(imgFile); StaticSprite2D staticSprite2D = stitchNode.CreateComponent<StaticSprite2D>(); //staticSprite2D.Color = (new Color(NextRandom(1.0f), NextRandom(1.0f), NextRandom(1.0f), 1.0f)); staticSprite2D.BlendMode = BlendMode.Alpha; staticSprite2D.Sprite = sprite; }); }