示例#1
0
        private void Art_Image_Preview_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var image    = sender as Image;
            var row      = Grid.GetRow(image) == 2 ? 1 : 0;
            var col      = Grid.GetColumn(image);
            var isOpened = this.OpenVect[row, col];

            if (isOpened)
            {
                viewSprite = rm.GetPicture("CG_" + (row * 4 + col + 1) + ".png", ResourceManager.FullImageRect);
                SpriteDescriptor desc = new SpriteDescriptor()
                {
                    ResourceType = ResourceType.Pictures
                };
                viewSprite.Descriptor         = desc;
                this.Art_Image_Viewbox.Margin = new Thickness(0, 0, 0, 0);
                this.RollCounter = 0;
                this.Art_Image_Viewbox.Source     = viewSprite.SpriteBitmapImage;
                this.Art_Image_Viewbox.Visibility = Visibility.Visible;
                this.Art_Image_Viewbox.Opacity    = 0;
                desc.ToOpacity            = 1;
                viewSprite.DisplayBinding = viewSprite.AnimationElement = this.Art_Image_Viewbox;
                SpriteAnimation.OpacityToAnimation(viewSprite, TimeSpan.FromMilliseconds(500), 1);
                if (GlobalConfigContext.GAME_PERFORMANCE_TYPE == GlobalConfigContext.PerformanceType.HighQuality)
                {
                    SpriteAnimation.BlurMutexAnimation(canvasSprite, TimeSpan.FromMilliseconds(800), 0, 50);
                }
                this.Art_Grid_Controls.IsHitTestVisible = false;
            }
        }
示例#2
0
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch          = new SpriteBatch(GraphicsDevice);
            s.Texture            = Content.Load <Texture2D>("Sprites/elves");
            s.ImageSize          = new Vector2(64, 64);
            s.TextureCellsPerRow = 7;
            s.TextureRows        = 2;
            s.FramesCount        = s.GetFramesCount();
            sf = Content.Load <SpriteFont>("Fonts/font1");

            List <SpriteDescriptor> sd = JsonConvert.DeserializeObject <List <SpriteDescriptor> >(File.ReadAllText("SpritesDescriptor.json"));

            XmlManager <GameObject> xml = new XmlManager <GameObject>();
            //xml.Type = typeof(List<GameObject>);

            Root r = xml.LoadRoot(Path.Combine(Environment.CurrentDirectory, @"Data/save1.sav"));

            List <GameObject> goList    = xml.LoadList(Path.Combine(Environment.CurrentDirectory, @"Data/save1.sav"));
            List <GameObject> finalList = new List <GameObject>();

            foreach (GameObject g in goList)
            {
                GameObject tempObject = (GameObject)Activator.CreateInstance(Type.GetType(g.TypeString));
                tempObject.Position       = g.Position;
                tempObject.Sprite         = g.Sprite;
                tempObject.TypeString     = g.TypeString;
                tempObject.OriginalType   = GetType();
                tempObject.TransformSpeed = g.TransformSpeed;

                GameObjects.Add(tempObject);
            }

            // GameObjects.AddRange(goList);

            // We neeed to load back Textures2D (f*****g bastards sitting in ram)
            int index = 0;

            foreach (GameObject g in GameObjects)
            {
                g.Id = index;
                SpriteDescriptor s = sd.FirstOrDefault(x => ("Sprites/" + x.Name) == g.Sprite.TextureSource);

                if (!string.IsNullOrEmpty(g.Sprite.TextureSource) && s != null)
                {
                    g.Sprite.Texture            = Content.Load <Texture2D>(g.Sprite.TextureSource);
                    g.Sprite.ImageSize          = new Vector2(s.CellWidth, s.CellHeight);
                    g.Sprite.TextureCellsPerRow = s.FramesPerRow;
                    g.Sprite.TextureRows        = s.Rows;
                    g.Sprite.FramesCount        = g.Sprite.GetFramesCount();
                    g.FramesCount = g.Sprite.FramesCount;
                }

                g.OnCreate();
                index++;
            }
        }
示例#3
0
        public UpsellOverlay(string message, ContentManager content)
        {
            SpriteDescriptor nagDesc = content.Load <SpriteDescriptorTemplate>("Sprites/UpsellOverlay").Create();

            nagDesc.GetSprite <TextSprite>("Bubble").Text = message;
            nagDesc.GetSprite <TextSprite>("Cast").Text   = Resources.UpsellCast;
            nagDesc.GetSprite <TextSprite>("Badges").Text = Resources.UpsellBadges;
            nagDesc.GetSprite <TextSprite>("Lures").Text  = Resources.UpsellLures;
            nagDesc.GetSprite <TextSprite>("Fish").Text   = Resources.UpsellFish;
            Sprite = nagDesc.Sprite;
        }
示例#4
0
 public StoreItemEntry(StoreItem item, SpriteDescriptor sprite, bool purchaseEnabled) : base(sprite.Sprite)
 {
     _descriptor = sprite;
     _descriptor.GetSprite <CompositeSprite>("Image").Add(item.Image);
     _descriptor.GetSprite <TextSprite>("Name").Text        = item.Name;
     _descriptor.GetSprite <TextSprite>("Description").Text = item.Description;
     _descriptor.GetSprite <TextSprite>("Money").Text       = item.Cost.ToString(CultureInfo.InvariantCulture);
     if (!purchaseEnabled)
     {
         _descriptor.Sprite.Color = new Color(_descriptor.Sprite.Color, 0.6f);
     }
     SelectText = Resources.StoreBuy;
 }
        private void LoadDescriptors()
        {
            // It's much easier to grab all the descriptors in one go
            // Then, they're all available in memory and there's nothing to worry about
            foreach (var file in Directory.GetFiles(PathUtility.SpriteDescriptorPath, "*.*", SearchOption.AllDirectories))
            {
                var descriptor = SpriteDescriptor.FromFile(file);
                _spriteDescriptorLookup.Add(descriptor.Name, descriptor);
            }

            foreach (var entity in ServiceManager.Entities)
            {
                AddSpriteComponent(entity);
            }
        }
示例#6
0
        private MenuScreen BuildControls(FishingGameContext context, ContentManager content)
        {
            MenuScreen screen = new MenuScreen(context);

            screen.LoadContent(content);

            SpriteDescriptor controlsDesc = content.Load <SpriteDescriptorTemplate>("Sprites/Controls").Create();

            controlsDesc.GetSprite <TextSprite>("AText").Text     = Resources.MenuControlsA;
            controlsDesc.GetSprite <TextSprite>("BText").Text     = Resources.MenuControlsB;
            controlsDesc.GetSprite <TextSprite>("StartText").Text = Resources.MenuControlsStart;
            screen.AddEntry(BuildImageEntry(controlsDesc.Sprite));

            screen.LayoutEntries();
            return(screen);
        }
示例#7
0
        public override void LoadContent(ContentManager content)
        {
            base.LoadContent(content);

            _screenDescriptor.GetSprite <TextSprite>("TextBack").Text = Resources.StoreClose;

            _entryTemplate = content.Load <SpriteDescriptorTemplate>("Sprites/StoreItem");

            _soundPurchase     = content.Load <SoundEffect>("Sounds/Money");
            _soundPurchaseFail = content.Load <SoundEffect>("Sounds/ShopNoMoney");

            _upsellSprite = new UpsellOverlay(Resources.UpsellMessageStore, content).Sprite;

            SpriteDescriptor unlockSpriteDesc = content.Load <SpriteDescriptorTemplate>("Sprites/UnlockOverlay").Create();

            unlockSpriteDesc.GetSprite <TextSprite>("TextUnlock").Text = Resources.MenuPurchase;
            _unlockSprite = unlockSpriteDesc.Sprite;
        }
示例#8
0
        public BadgeMenuEntry(Badge badge, SpriteDescriptor descriptor) : base(descriptor.Sprite)
        {
            _descriptor = descriptor;
            _descriptor.GetSprite <TextSprite>("Name").Text        = badge.Name;
            _descriptor.GetSprite <TextSprite>("Description").Text = badge.Description;
            if (badge.IsEarned)
            {
                _descriptor.GetSprite("Earned").Color    = Color.White;
                _descriptor.GetSprite("NotEarned").Color = Color.TransparentWhite;
            }
            else
            {
                _descriptor.GetSprite("Earned").Color    = Color.TransparentWhite;
                _descriptor.GetSprite("NotEarned").Color = Color.White;
            }

            IsSelectable = false;
        }
示例#9
0
 private void Blur_OnClick(object sender, RoutedEventArgs e)
 {
     if (blurCount == -1)
     {
         Blursd = new SpriteDescriptor()
         {
             ResourceType = ResourceType.Pictures
         };
         var rm = ResourceManager.GetInstance();
         Blurbgg = rm.GetPicture("UUZ.jpg", ResourceManager.FullImageRect);
         Image img3 = new Image();
         img3.Source              = Blurbgg.SpriteBitmapImage;
         img3.Width               = Blurbgg.SpriteBitmapImage.PixelWidth;
         img3.Height              = Blurbgg.SpriteBitmapImage.PixelHeight;
         Blurbgg.DisplayBinding   = img3;
         Blurbgg.AnimationElement = img3;
         Blurbgg.Descriptor       = Blursd;
         Canvas.SetLeft(img3, 0);
         Canvas.SetTop(img3, 0);
         Canvas.SetZIndex(img3, 5);
         this.BO_Bg_Canvas.Children.Add(img3);
         Blurbgg.InitAnimationRenderTransform();
         Blursd.BlurRadius   = 0;
         Blursd.ToBlurRadius = 20;
     }
     else if (blurCount % 2 == 0)
     {
         Blursd.ToBlurRadius = 50;
         SpriteAnimation.BlurMutexAnimation(Blurbgg, TimeSpan.FromMilliseconds(1000), Blursd.BlurRadius, Blursd.ToBlurRadius);
     }
     else
     {
         Blursd.ToBlurRadius = 0;
         SpriteAnimation.BlurMutexAnimation(Blurbgg, TimeSpan.FromMilliseconds(1000), Blursd.BlurRadius, Blursd.ToBlurRadius);
     }
     blurCount++;
 }
示例#10
0
        private void ProcessLocalPlayer(Entity entity, GameTime gameTime)
        {
            // Local players can be moved automatically, then report their status if needed
            var playerTransform        = (TransformComponent)entity.GetComponent(typeof(TransformComponent));
            var playerMovementModifier = (MovementModifierComponent)entity.GetComponent(typeof(MovementModifierComponent));

            // Get the skin information so we can calculate bounding box collisions
            var playerSkin       = (SkinComponent)entity.GetComponent(typeof(SkinComponent));
            var playerDescriptor = SpriteDescriptorLookup[playerSkin.SpriteDescriptorName];

            // Move the camera
            ServiceManager.Camera.Move(-lastTransformVector);

            // Determine the movement bonus multiplier
            float movementBonus = 1.0f;

            if (playerMovementModifier != null)
            {
                movementBonus += (float)playerMovementModifier.Amount;
            }

            // Apply the multiplier to the velocity and move the position
            Vector2 nextPosition = playerTransform.LocalPosition;

            nextPosition += playerTransform.Velocity * movementBonus;

            // Clamp the x and y so the player won't keep walking offscreen
            float nextX = MathHelper.Clamp(nextPosition.X + playerDescriptor.BoundingBox.X, 0, ServiceManager.Map.WorldSizePixels.X / 2 - playerDescriptor.BoundingBox.Width);
            float nextY = MathHelper.Clamp(nextPosition.Y + playerDescriptor.BoundingBox.Y, 0, ServiceManager.Map.WorldSizePixels.Y / 2 - playerDescriptor.BoundingBox.Height);

            // TODO: This is shitty. Needs to be redone.
            if (playerTransform.Velocity.LengthSquared() != 0)
            {
                // Check Entity Collision
                if (ServiceManager.Entities != null && ServiceManager.Entities.Count() > 0)
                {
                    foreach (Entity e in ServiceManager.Entities)
                    {
                        // TODO: Bugfix! Currently 2 arrow keys are needed to get off of bombs. Fix it bitches.
                        if (e != entity && e.HasComponent(typeof(ExplosiveComponent)))
                        {
                            TransformComponent bombTransform  = (TransformComponent)e.GetComponent(typeof(TransformComponent));
                            SkinComponent      bombSkin       = (SkinComponent)e.GetComponent(typeof(SkinComponent));
                            SpriteDescriptor   bombDescriptor = SpriteDescriptorLookup[bombSkin.SpriteDescriptorName];

                            Vector2 playerOrigin = playerTransform.LocalPosition + new Vector2(playerDescriptor.BoundingBox.X, playerDescriptor.BoundingBox.Y) + new Vector2(playerDescriptor.BoundingBox.Width, playerDescriptor.BoundingBox.Height) / 2;
                            Vector2 bombOrigin   = bombTransform.LocalPosition + new Vector2(bombDescriptor.BoundingBox.X, bombDescriptor.BoundingBox.Y) + new Vector2(bombDescriptor.BoundingBox.Width, bombDescriptor.BoundingBox.Height) / 2;

                            Vector2 relativePosition = playerOrigin - bombOrigin;
                            if (Math.Abs(relativePosition.X) >= (bombDescriptor.BoundingBox.Width / 2) || Math.Abs(relativePosition.Y) >= (bombDescriptor.BoundingBox.Height / 2))
                            {
                                if ((Math.Sign(playerTransform.Velocity.X) != 0 && Math.Sign(relativePosition.X) != Math.Sign(playerTransform.Velocity.X)) || (Math.Sign(playerTransform.Velocity.Y) != 0 && Math.Sign(relativePosition.Y) != Math.Sign(playerTransform.Velocity.Y)))
                                {
                                    Rectangle bombRect = new Rectangle(
                                        (int)bombTransform.LocalPosition.X + bombDescriptor.BoundingBox.X,
                                        (int)bombTransform.LocalPosition.Y + bombDescriptor.BoundingBox.Y,
                                        (int)bombDescriptor.BoundingBox.Width,
                                        (int)bombDescriptor.BoundingBox.Height);

                                    Rectangle xBBox = new Rectangle((int)nextX,
                                                                    (int)playerTransform.LocalPosition.Y + playerDescriptor.BoundingBox.Y,
                                                                    (int)playerDescriptor.BoundingBox.Width,
                                                                    (int)playerDescriptor.BoundingBox.Height);

                                    if (bombRect.Intersects(xBBox))
                                    {
                                        nextX = playerTransform.LocalPosition.X + playerDescriptor.BoundingBox.X;
                                    }

                                    Rectangle yBBox = new Rectangle((int)nextX, (int)nextY,
                                                                    (int)playerDescriptor.BoundingBox.Width,
                                                                    (int)playerDescriptor.BoundingBox.Height);

                                    if (bombRect.Intersects(yBBox))
                                    {
                                        nextY = playerTransform.LocalPosition.Y + playerDescriptor.BoundingBox.Y;
                                    }
                                }
                            }
                        }
                    }
                }

                // Check Tile Collision
                if (ServiceManager.Map != null)
                {
                    foreach (TmxLayer layer in ServiceManager.Map.Layers)
                    {
                        foreach (TmxLayerTile tile in layer.Tiles)
                        {
                            var          set = (TmxTileset)ServiceManager.Map.Tilesets[0];
                            PropertyDict dict;

                            set.Tiles.TryGetValue((int)tile.GID, out dict);


                            // TODO: Sucks. Temporary, incomplete code. Needs to get fixed.
                            if (MapUtility.IsSolid(ServiceManager.Map.TmxMap, tile.X, tile.Y))
                            {
                                Rectangle tileRect = new Rectangle(tile.X * 32, tile.Y * 32, 32, 32);

                                Rectangle xBBox = new Rectangle((int)nextX,
                                                                (int)playerTransform.LocalPosition.Y + playerDescriptor.BoundingBox.Y,
                                                                (int)playerDescriptor.BoundingBox.Width,
                                                                (int)playerDescriptor.BoundingBox.Height);

                                if (tileRect.Intersects(xBBox))
                                {
                                    nextX = playerTransform.LocalPosition.X + playerDescriptor.BoundingBox.X;
                                }

                                Rectangle yBBox = new Rectangle((int)nextX, (int)nextY,
                                                                (int)playerDescriptor.BoundingBox.Width,
                                                                (int)playerDescriptor.BoundingBox.Height);

                                if (tileRect.Intersects(yBBox))
                                {
                                    nextY = playerTransform.LocalPosition.Y + playerDescriptor.BoundingBox.Y;
                                }
                            }
                        }
                    }
                }
            }

            playerTransform.LocalPosition = new Vector2(nextX - playerDescriptor.BoundingBox.X, nextY - playerDescriptor.BoundingBox.Y);

            float transformX = playerTransform.LocalPosition.X;
            float transformY = playerTransform.LocalPosition.Y;

            float offsetX = playerDescriptor.BoundingBox.Left + playerDescriptor.BoundingBox.Width / 2;
            float offsetY = playerDescriptor.BoundingBox.Bottom;

            transformX = Math.Max(transformX - 319 + offsetX, 0);
            transformX = Math.Min(transformX, ServiceManager.Map.WorldSizePixels.X / 2 - 638);
            transformY = Math.Max(transformY - 283 + offsetY, 0);
            transformY = Math.Min(transformY, ServiceManager.Map.WorldSizePixels.Y / 2 - 566);

            // Move the camera back
            lastTransformVector = new Vector2(transformX, transformY);
            ServiceManager.Camera.Move(lastTransformVector);

            if (playerTransform.Velocity.X != playerTransform.Velocity.Y)
            {
                if (playerTransform.Velocity.X < 0)
                {
                    playerTransform.DirectionalCache = DirectionalCache.Left;
                }

                if (playerTransform.Velocity.X > 0)
                {
                    playerTransform.DirectionalCache = DirectionalCache.Right;
                }

                if (playerTransform.Velocity.Y > 0)
                {
                    playerTransform.DirectionalCache = DirectionalCache.Down;
                }

                if (playerTransform.Velocity.Y < 0)
                {
                    playerTransform.DirectionalCache = DirectionalCache.Up;
                }
            }

            var directionalChange = (playerTransform.Velocity != playerTransform.LastVelocity &&
                                     playerTransform.Velocity != Vector2.Zero);

            directionalChange = false;

            if ((_lastReaction > MovementRate && playerTransform.Velocity != Vector2.Zero) || directionalChange)
            {
                // Alert the server out this change in events if needed
                var packet = new NotifyMovementPacket(playerTransform.Velocity, playerTransform.LocalPosition);
                NetworkManager.Instance.SendPacket(packet);

                // Reset reaction timer
                _lastReaction = 0f;
            }

            // Increment reaction timer
            _lastReaction += (float)gameTime.ElapsedGameTime.TotalSeconds;
        }
示例#11
0
        private void button2_Click(object sender, RoutedEventArgs e)
        {
            SpriteDescriptor sd = new SpriteDescriptor()
            {
                ResourceType = ResourceType.Pictures
            };

            var izettaPoint = SCamera2D.GetScreenCoordination(4, 8);
            var finePoint   = SCamera2D.GetScreenCoordination(4, 11);
            var zoiPoint    = SCamera2D.GetScreenCoordination(4, 24);


            var   rm     = ResourceManager.GetInstance();
            var   izetta = rm.GetPicture("伊泽塔1.png", new Int32Rect(-1, 0, 0, 0));
            Image img1   = new Image();

            img1.Source             = izetta.SpriteBitmapImage;
            img1.Width              = izetta.SpriteBitmapImage.PixelWidth;
            img1.Height             = izetta.SpriteBitmapImage.PixelHeight;
            izetta.DisplayBinding   = img1;
            izetta.AnimationElement = img1;
            var izettad = (SpriteDescriptor)sd.Clone();

            izettad.ToScaleX    = izettad.ToScaleY = 0.4;
            izetta.Descriptor   = izettad;
            izetta.Descriptor.X = izettaPoint.X - izetta.SpriteBitmapImage.PixelWidth / 2.0;
            izetta.Descriptor.Y = izettaPoint.Y - izetta.SpriteBitmapImage.PixelHeight / 2.0;

            //Canvas.SetLeft(img1, 150 - izetta.SpriteBitmapImage.PixelWidth / 2.0);
            Canvas.SetLeft(img1, izettaPoint.X - izetta.SpriteBitmapImage.PixelWidth / 2.0);
            Canvas.SetTop(img1, izettaPoint.Y - izetta.SpriteBitmapImage.PixelHeight / 2.0);
            //Canvas.SetTop(img1, 630 - izetta.SpriteBitmapImage.PixelHeight / 2.0);
            Canvas.SetZIndex(img1, 50);
            this.BO_Cstand_Canvas.Children.Add(img1);
            izetta.InitAnimationRenderTransform();
            SpriteAnimation.ScaleToAnimation(izetta, TimeSpan.FromMilliseconds(0), 0.4, 0.4, 0, 0);

            var   fine = rm.GetPicture("公主1.png", new Int32Rect(-1, 0, 0, 0));
            Image img2 = new Image();

            img2.Source           = fine.SpriteBitmapImage;
            img2.Width            = fine.SpriteBitmapImage.PixelWidth;
            img2.Height           = fine.SpriteBitmapImage.PixelHeight;
            fine.DisplayBinding   = img2;
            fine.AnimationElement = img2;
            var fined = (SpriteDescriptor)sd.Clone();

            fined.ToScaleX    = fined.ToScaleY = 0.5;
            fine.Descriptor   = fined;
            fine.Descriptor.X = finePoint.X - fine.SpriteBitmapImage.PixelWidth / 2.0;
            fine.Descriptor.Y = finePoint.Y + 100 - fine.SpriteBitmapImage.PixelHeight / 2.0;
            //Canvas.SetLeft(img2, 400 - fine.SpriteBitmapImage.PixelWidth / 2.0);
            //Canvas.SetTop(img2, 730 - fine.SpriteBitmapImage.PixelHeight / 2.0);
            Canvas.SetLeft(img2, finePoint.X - fine.SpriteBitmapImage.PixelWidth / 2.0);
            Canvas.SetTop(img2, finePoint.Y + 100 - fine.SpriteBitmapImage.PixelHeight / 2.0);
            Canvas.SetZIndex(img2, 50);
            this.BO_Cstand_Canvas.Children.Add(img2);
            fine.InitAnimationRenderTransform();
            SpriteAnimation.ScaleToAnimation(fine, TimeSpan.FromMilliseconds(0), 0.5, 0.5, 0, 0);

            var   mt   = rm.GetPicture("Zoithyt-4-2.png", new Int32Rect(-1, 0, 0, 0));
            Image img4 = new Image();

            img4.Source         = mt.SpriteBitmapImage;
            img4.Width          = mt.SpriteBitmapImage.PixelWidth;
            img4.Height         = mt.SpriteBitmapImage.PixelHeight;
            mt.DisplayBinding   = img4;
            mt.AnimationElement = img4;
            var zoid = (SpriteDescriptor)sd.Clone();

            zoid.ToScaleX   = zoid.ToScaleY = 0.43;
            mt.Descriptor   = zoid;
            mt.Descriptor.X = zoiPoint.X - mt.SpriteBitmapImage.PixelWidth / 2.0;
            mt.Descriptor.Y = zoiPoint.Y - mt.SpriteBitmapImage.PixelHeight / 2.0;
            Canvas.SetLeft(img4, zoiPoint.X - mt.SpriteBitmapImage.PixelWidth / 2.0);
            Canvas.SetTop(img4, zoiPoint.Y - mt.SpriteBitmapImage.PixelHeight / 2.0);
            Canvas.SetZIndex(img4, 50);
            this.BO_Cstand_Canvas.Children.Add(img4);
            mt.InitAnimationRenderTransform();
            SpriteAnimation.ScaleToAnimation(mt, TimeSpan.FromMilliseconds(0), 0.43, 0.43, 0, 0);

            var   bgg  = rm.GetPicture("bg_school.jpg", new Int32Rect(-1, 0, 0, 0));
            Image img3 = new Image();

            img3.Source          = bgg.SpriteBitmapImage;
            img3.Width           = bgg.SpriteBitmapImage.PixelWidth;
            img3.Height          = bgg.SpriteBitmapImage.PixelHeight;
            bgg.DisplayBinding   = img3;
            bgg.AnimationElement = img3;
            bgg.Descriptor       = (SpriteDescriptor)sd.Clone();
            bgg.Descriptor.X     = GlobalConfigContext.GAME_WINDOW_WIDTH / 2.0;
            bgg.Descriptor.Y     = GlobalConfigContext.GAME_WINDOW_HEIGHT / 2.0;
            Canvas.SetLeft(img3, bgg.Descriptor.X - img3.Width / 2);
            Canvas.SetTop(img3, bgg.Descriptor.Y - img3.Height / 2);
            Canvas.SetZIndex(img3, 5);
            this.BO_Bg_Canvas.Children.Add(img3);
            bgg.InitAnimationRenderTransform();

            //bgg.Descriptor.ToScaleX = 0.5;
            //bgg.Descriptor.ToScaleY = 0.5;
            //SpriteAnimation.ScaleAnimation(bgg, TimeSpan.Zero, 1, 0.5, 1, 0.5, 0, 0);

            TransformGroup     aniGroup         = new TransformGroup();
            TranslateTransform XYTransformer    = new TranslateTransform();
            ScaleTransform     ScaleTransformer = new ScaleTransform();

            ScaleTransformer.CenterX = GlobalConfigContext.GAME_WINDOW_WIDTH / 2.0;
            ScaleTransformer.CenterY = GlobalConfigContext.GAME_WINDOW_HEIGHT / 2.0;
            RotateTransform RotateTransformer = new RotateTransform();

            RotateTransformer.CenterX = GlobalConfigContext.GAME_WINDOW_WIDTH / 2.0;
            RotateTransformer.CenterY = GlobalConfigContext.GAME_WINDOW_HEIGHT / 2.0;
            CsScaleT = ScaleTransformer;
            aniGroup.Children.Add(XYTransformer);
            aniGroup.Children.Add(ScaleTransformer);
            aniGroup.Children.Add(RotateTransformer);
            this.BO_Cstand_Viewbox.RenderTransform = aniGroup;

            TransformGroup     aniGroup2         = new TransformGroup();
            TranslateTransform XYTransformer2    = new TranslateTransform();
            ScaleTransform     ScaleTransformer2 = new ScaleTransform();

            ScaleTransformer2.CenterX = GlobalConfigContext.GAME_WINDOW_WIDTH / 2.0;
            ScaleTransformer2.CenterY = GlobalConfigContext.GAME_WINDOW_HEIGHT / 2.0;
            RotateTransform RotateTransformer2 = new RotateTransform();

            RotateTransformer2.CenterX = GlobalConfigContext.GAME_WINDOW_WIDTH / 2.0;
            RotateTransformer2.CenterY = GlobalConfigContext.GAME_WINDOW_HEIGHT / 2.0;
            BgScaleT = ScaleTransformer2;
            aniGroup2.Children.Add(XYTransformer2);
            aniGroup2.Children.Add(ScaleTransformer2);
            aniGroup2.Children.Add(RotateTransformer2);
            this.BO_Bg_Viewbox.RenderTransform = aniGroup2;
            BgTG = aniGroup2;
            CsTG = aniGroup;

            bgg.Descriptor.ScaleX = 0.75;
            bgg.Descriptor.ScaleY = 0.75;
            BgScaleT.ScaleX       = 1 * 0.75;
            BgScaleT.ScaleY       = 1 * 0.75;
        }
示例#12
0
 /// <summary>
 /// Loads the content for this scene.
 /// </summary>
 /// <param name="content">The content manager to load.</param>
 public void LoadContent(ContentManager content)
 {
     Sprite = content.Load <SpriteDescriptorTemplate>("Sprites/Scene").Create();
     UpdatePositions();
 }