Пример #1
0
        protected override Scene CreateScene()
        {
            var scene = new Scene("MainScene");
            scene.Add(new ColorLayer("Background", Color.CornflowerBlue));

            var spriteSheet = this.CreateSpriteSheet();

            this.entityLayer = new SpriteLayer("EntityMap");
            scene.Add(this.entityLayer);

            this.playerShipEntity = new PlayerShipEntity(this.entityLayer, spriteSheet);
            this.playerShipEntity.BindController(this.InputConfiguration);

            scene.Add(this.playerShipEntity);

            var yellowSprite = new Sprite(spriteSheet, "YellowEnemy") { Position = new Vector(250, 100) };
            var redSprite = new Sprite(spriteSheet, "RedEnemy") { Position = new Vector(300, 100) };
            var blueSprite = new Sprite(spriteSheet, "BlueEnemy") { Position = new Vector(350, 100) };

            this.entityLayer.AddSprite(yellowSprite);
            this.entityLayer.AddSprite(redSprite);
            this.entityLayer.AddSprite(blueSprite);

            return scene;
        }
Пример #2
0
        public static Scene LoadFrom(GameResourceManager gameResourceManager, string path)
        {
            var document = XDocument.Load(path);

            var sceneElement = document.Element("Scene");
            var scene = new Scene(sceneElement.Attribute("name").Value);

            foreach (var layerElement in sceneElement.Elements())
            {
                switch (layerElement.Name.ToString())
                {
                    case "ImageLayer":
                        scene.Add(ImageXmlRepository.ImageLayerFromXml(gameResourceManager, layerElement));
                        break;
                    case "HexLayer":
                        scene.Add(HexXmlRepository.HexLayerFromXml(gameResourceManager, layerElement));
                        break;
                    case "TileLayer":
                        scene.Add(TileXmlRepository.TileLayerFromXml(gameResourceManager, layerElement));
                        break;
                    case "ColorLayer":
                        scene.Add(ColorXmlRepository.ColorLayerFromXml(layerElement));
                        break;
                    case "SpriteLayer":
                        scene.Add(SpriteXmlRepository.SpriteLayerFromXml(gameResourceManager, layerElement));
                        break;
                    case "DrawingLayer":
                        scene.Add(DrawingXmlRepository.DrawingLayerFromXml(layerElement));
                        break;
                }
            }

            return scene;
        }
Пример #3
0
        protected override Scene CreateScene()
        {
            var scene = new Scene("Tiled") { UseLinearSampler = false };
            scene.Add(new ColorLayer("Background", Color.CornflowerBlue));

            var tiledFile = TiledFile.LoadScalable(@"Tiled\untitled.tmx", this.ResourceManager);
            this.tileLayers = tiledFile.TileLayers.ToList();
            scene.AddRange(this.tileLayers);

            var drawingLayer = new DrawingLayer("ObjectLayer");
            foreach (var tiledObject in tiledFile.ObjectLayers.First().TiledObjects)
                drawingLayer.AddRectangle(tiledObject.Position.X, tiledObject.Position.Y, 10, 10, 2, Color.Red);

            scene.Add(drawingLayer);

            return scene;
        }
Пример #4
0
        protected override Scene CreateScene()
        {
            var scene = new Scene("HubScene");
            scene.Add(new ColorLayer("Background", Color.CornflowerBlue));

            var font = this.ResourceManager.GetDrawingFont(@"Sandbox\SpriteFont1");

            var hubMap = new DrawingLayer("HubMap");

            this.sandboxRectangle = hubMap.AddRectangle(10, 10, 200, 200, 1, Color.White);
            this.shootEmUpRectangle = hubMap.AddRectangle(220, 10, 200, 200, 1, Color.White);
            this.tiledRectangle = hubMap.AddRectangle(10, 230, 200, 200, 1, Color.White);
            this.touchRectangle = hubMap.AddRectangle(220, 230, 200, 200, 1, Color.White);
            //hubMap.AddRectangle(10, 230, 200, 200, 1, Color.White);
            //hubMap.AddRectangle(220, 230, 200, 200, 1, Color.White);

            hubMap.AddText(font, "1 - Sandbox sample", new Vector(20, 210), Color.White);
            hubMap.AddText(font, "2 - ShootEmUp sample", new Vector(220, 210), Color.White);
            hubMap.AddText(font, "3 - Tiled sample", new Vector(20, 430), Color.White);
            hubMap.AddText(font, "4 - Touch sample", new Vector(220, 430), Color.White);

            scene.Add(hubMap);

            scene.Add(new MouseCursor(this.InputConfiguration.CreateMouseTracking(this.Camera)));

            return scene;
        }
Пример #5
0
        protected override Scene CreateScene()
        {
            var scene = new Scene("Touch");
            scene.Add(new ColorLayer("Background", Color.CornflowerBlue));

            scene.Add(this.CreateButtonLayer(),
                this.CreateDiagnosticLayer());

            return scene;
        }
Пример #6
0
        protected override Scene CreateScene()
        {
            var scene = new Scene("scene1");

            this.coinSound = this.ResourceManager.GetSoundEffect(@"Sandbox\Coin").CreateInstance();
            this.coinSound.Volume = 0.5f;

            #if (NETFX_CORE)
            this.music = this.ResourceManager.GetMusic(@"Sandbox\Music2");
            #else
            this.music = this.ResourceManager.GetMusic(@"Sandbox\Music3.wav");
            #endif

            scene.Add(
                this.CreateColorLayer(),
                this.CreateImageLayer(),
                this.CreateHexLayer(),
                this.CreateTileLayer(),
                this.CreateHexLayerTestDistance(),
                this.CreateSpriteLayer(),
                this.CreateDiagnosticLayer(),
                this.CreateMouseCursor(),
                this.CreateMouseFollow());

            //this.scene.Save(@"C:\Users\Pascal\Dev\DotNet\GitHub\XNAGameEngine2D\TestScene.xml");

            //this.TestSceneSaveLoad();
            //this.TestSheetsSaveLoad();

            return scene;
        }