示例#1
0
        protected override void Arrange()
        {
            spritesheet = new SpriteSheet();
            spritesheet.Add(new Item("Anim_1", 0, 0, 50, 50, 0, 0))
            .Add(new Item("Anim_2", 0, 50, 50, 50, 0, 0))
            .Add(new Item("Anim_3", 50, 0, 50, 50, 0, 0))
            .Add(new Item("Anim_4", 50, 50, 50, 50, 0, 0));

            serializer = new Xngine.Tools.Commons.Xml.XmlSerializer();
        }
示例#2
0
        public override void Initialize()
        {
            base.Initialize();

            var sprite = Scene.Content.Load <Texture2D>("spritesheet");
            var atlas  = Scene.Content.Load <TextureAtlas>("map");

            anim = new SpriteSheet(sprite, atlas);

            anim.Add("walk", 20, 30, 0.15f);
            anim.Add("attack", 30, 40, 0.15f, false);

            anim.Play("walk");

            anim.Width  = 720;
            anim.Height = 720;

            Add(anim);
        }
示例#3
0
        public static void Init(params AvailableTextures[] sprite_sheet_textures)
        {
            SpriteSheet = new SpriteSheet();
            var sprite_sheet_loader = new SpriteSheetLoader();

            foreach (var available_texture in sprite_sheet_textures)
            {
                SpriteSheet.Add(sprite_sheet_loader.Load(ContentHolder.Get(available_texture), "NeonPartyGamesController." + Engine.Game.Content.RootDirectory + ".textures." + available_texture + ".json"));
            }
        }
        public SpriteSheet MultiLoad(string imageResourceFormat, int numSheets)
        {
            SpriteSheet result = new SpriteSheet();

            for (int i = 0; i < numSheets; i++)
            {
                string imageResource = string.Format(imageResourceFormat, i);

                SpriteSheet tmp = Load(imageResource);
                result.Add(tmp);
            }
            return(result);
        }
示例#5
0
        public static SpriteSheet Load(string file)
        {
            var sheet = new SpriteSheet();

            using (var reader = File.OpenText(file)) {
                while (true)
                {
                    var firstLine = reader.ReadLine();

                    if (reader.EndOfStream)
                    {
                        break;
                    }

                    var texturePath = string.IsNullOrEmpty(firstLine) ? reader.ReadLine() : firstLine;

                    var pageSize = reader.ReadLine();
                    var format   = reader.ReadLine();
                    var filter   = reader.ReadLine();
                    var repeat   = reader.ReadLine();

                    var texture = ResourceManager.GetTexture($"{new FileInfo(file).Directory}/{texturePath}");

                    while (true)
                    {
                        var nextLine = reader.ReadLine();

                        if (string.IsNullOrEmpty(nextLine))
                        {
                            break;
                        }

                        var(regionName, frame) = LoadRegion(reader, nextLine, texture);
                        sheet.Add(regionName, frame);
                    }
                }
            }

            return(sheet);
        }
示例#6
0
        public override void Load(Microsoft.Xna.Framework.Content.ContentManager content)
        {
            _content = content;
            loadingDropingObjects(content);
            loadingBackgrounds(content);
            loadingSongs(content);



            FallingItem.FallingSpeed = startingSpeed;
            startingDifficultyTime   = new TimeSpan(0, 0, 3);
            elapsedArrowTime         = TimeSpan.Zero;
            difficultyTime           = startingDifficultyTime;

            arrowFadeTime = new TimeSpan(0, 0, 0, 5);

            //SpriteLabel tutorialText = new SpriteLabel("tutorialText", content.Load<SpriteFont>("Fonts/FS14"), "Press the arrows to move!", Vector2.Zero, Color.Black);
            //tutorialText.Scale = new Vector2(3);
            //tutorialText.Position = new Vector2(RenderTarget.Width / 2 - tutorialText.Width / 2, RenderTarget.Height - tutorialText.Height * 2);
            //tutorialText.IsVisible = Global.Tutorial;

            _columns = new Column[fallingLocation.Length];
            for (int i = 0; i < _columns.Length; i++)
            {
                _columns[i] = new Column(fallingLocation[i].X.ToInt(true), RenderTarget.Height);
            }

            _columns[0].NextColumns.Add(_columns[1]);

            //_columns[1].NextColumns.Add(_columns[0]);
            _columns[1].NextColumns.Add(_columns[2]);

            //_columns[2].NextColumns.Add(_columns[1]);
            _columns[2].NextColumns.Add(_columns[3]);

            _columns[3].NextColumns.Add(_columns[2]);


            backGround = new Sprite("backGround", Global.Backgrounds[Global.CurrentBackgroundIndex], Vector2.Zero, Color.White);


            leftHelpButton          = new Sprite("leftButton", content.Load <Texture2D>("Screen Images/Left Arrow"), Vector2.Zero, Color.White);
            leftHelpButton.Scale    = new Vector2(.8f);
            leftHelpButton.Position = new Vector2(0, RenderTarget.Height - leftHelpButton.Height * 3f);
            leftHelpButton.Color    = Color.Lerp(Color.White, Color.Transparent, .3f);

            //leftHelpButton.Effect = SpriteEffects.FlipHorizontally;

            rightHelpButton          = new Sprite("rightButton", content.Load <Texture2D>("Screen Images/Right Arrow"), Vector2.Zero, Color.White);
            rightHelpButton.Scale    = leftHelpButton.Scale;
            rightHelpButton.Position = new Vector2(RenderTarget.Width - rightHelpButton.Width, leftHelpButton.Y);
            rightHelpButton.Color    = Color.Lerp(Color.White, Color.Transparent, .3f);



            _fpsLabel           = new SpriteLabel("SpeedLabel", content.Load <SpriteFont>("Fonts/dnk24"), String.Empty, Vector2.Zero, Color.Black);
            _fpsLabel.Text      = String.Format("Speed: {0}", FallingItem.FallingSpeed);
            _fpsLabel.Scale     = new Vector2(3);
            _fpsLabel.Y         = RenderTarget.Height - _fpsLabel.Height;
            _fpsLabel.IsVisible = false;

            //death
            Texture2D   firstDeathFrame = content.Load <Texture2D>("Characters/Effects/Death/explosion1");
            SpriteSheet deathSprite     = new SpriteSheet("RedPanda", Vector2.Zero, Color.White, firstDeathFrame);

            for (int i = 2; i < 6; i++)
            {
                Sprite deathFrame = new Sprite("RedPanda", content.Load <Texture2D>(String.Format("Characters/Effects/Death/explosion{0}", i)), Vector2.Zero, Color.White);
                deathSprite.Add(deathFrame);
            }

            foreach (Sprite frame in deathSprite)
            {
                frame.Origin = new Vector2(frame.Width / 2, frame.Height / 3 * 2);
                frame.Scale  = new Vector2(0.8f);
            }
            deathSprite.AnimateTime      = TimeSpan.FromMilliseconds(100);
            deathSprite.AnimationFinish += deathSprite_AnimationFinish;

            playerIndex = 1;

            //ria load
            Sprite idleRiaFrame = new Sprite("RedPanda", content.Load <Texture2D>("Characters/RedPanda/Ria/0"), Vector2.Zero, Color.White);

            idleRiaFrame.Origin = new Vector2(380, idleRiaFrame.Height);


            Texture2D   test            = content.Load <Texture2D>("Characters/RedPanda/Ria/1");
            SpriteSheet movingRiaFrames = new SpriteSheet("RedPanda", Vector2.Zero, Color.White, test);

            for (int i = 2; i < 7; i++)
            {
                Sprite frame = new Sprite("RedPanda", content.Load <Texture2D>(String.Format("Characters/RedPanda/Ria/{0}", i)), Vector2.Zero, Color.White);
                movingRiaFrames.Add(frame);
            }
            movingRiaFrames.Origin = new Vector2(380, test.Height);


            movingRiaFrames.AnimateTime = TimeSpan.FromMilliseconds(25 / (_level + 1));//speed animation up according to level. Kevin

            movingRiaFrames.AnimationFinish += movingRiaFrames_AnimationFinish;

            player = new Character(new ISprite[] { idleRiaFrame, movingRiaFrames, deathSprite });

            player.Position = new Vector2(fallingLocation[playerIndex].X - 1, RenderTarget.Height - 50);

            direction = Direction.None;
            //SpriteCollection.Add(tutorialText);
            SpriteCollection.Add(backGround);
            SpriteCollection.Add(_fpsLabel);

            SpriteCollection.Add(leftHelpButton);
            SpriteCollection.Add(rightHelpButton);

            string leftSwipeFile  = String.Empty;
            string rightSwipeFile = String.Empty;

            XnaAudio.MediaPlayer.Volume = 1;

            SpriteCollection.NameCheck = false;
            SpriteCollection.Add(player);

            foreach (Column column in _columns)
            {
                foreach (FallingItem item in column.Pool)
                {
                    SpriteCollection.Add(item);
                }
            }
            if (Global.Control == ControlTypes.Swipe)
            {
                leftHelpButton.IsVisible  = false;
                rightHelpButton.IsVisible = false;
            }
            else
            {
                leftHelpButton.IsVisible  = true;
                rightHelpButton.IsVisible = true;
            }
            _lastSpwaned   = _columns[0];
            Column.OffSet  = player.BoundingBox.Height + player.BoundingBox.Height / 4;
            leftSwipeFile  = "Sounds/Effects/Air 1 swipe to left";
            rightSwipeFile = "Sounds/Effects/Air 2 swipe to right";
#if !WINDOWS
            TouchManager touch = TouchManager.Instance;
            touch.GestureOccured += touch_GestureOccured;
#endif

            SpriteLabel helperLabel = new SpriteLabel("helperLabel", content.Load <SpriteFont>("Fonts/dnk48"), String.Empty, new Vector2(RenderTarget.Width / 2, RenderTarget.Height / 2), Color.White);

            helperLabel.Y     += 425;
            helperLabel.Origin = new Vector2(helperLabel.Width / 2, helperLabel.Height / 2);
            //helperLabel.Scale = new Vector2(1);
            SpriteCollection.Add(helperLabel);


            timeLabel          = new SpriteLabel("timeLabel", content.Load <SpriteFont>("Fonts/dnk72"), String.Empty, Vector2.Zero, Color.Black);
            timeLabel.Position = new Vector2(RenderTarget.Width / 2, 30);
            //timeLabel.Scale = new Vector2(2);
            SpriteCollection.Add(timeLabel);

            controlLabel       = new HighScoreControl("controlLabel", ControlTypes.Tap, new Vector2(0, 30));
            controlLabel.Scale = new Vector2(0.5f);
            controlLabel.X     = RenderTarget.Width - controlLabel.Width - 30;

            controlLabel.IsVisible = false;
            SpriteCollection.Add(controlLabel);

            deathSound     = content.Load <SoundEffect>("Sounds/Effects/DeathSound"); //content.Load<XnaAudio.Song>("Sounds/DeathSound");
            leftSwipe      = content.Load <SoundEffect>(leftSwipeFile);               //content.Load<XnaAudio.Song>(leftSwipeFile);
            rightSwipe     = content.Load <SoundEffect>(rightSwipeFile);              // content.Load<XnaAudio.Song>(rightSwipeFile);
            highScoreSound = content.Load <SoundEffect>("Sounds/Effects/RD High Score");
            _level         = 0;



            SpriteCollection.IsReadOnly = true;
        }