コード例 #1
0
        public bool Create(string fileData, Bitmap sprite, string name)
        {
            sName   = name;   // namnet på tilesheet
            pSprite = sprite; // Sätt sprite att vara tilesheet


            SettingsObj settingsObj = new SettingsObj();

            using (StreamReader r = new StreamReader(fileData)) // Läs settingsfilen
            {
                string json = r.ReadToEnd();
                settingsObj = JsonConvert.DeserializeObject <SettingsObj>(json);
            }

            nHeight = settingsObj.LvlHeight; // det som ska rita ut griddens antal rader
            nWidth  = settingsObj.LvlWidth;  // det som ska rita ut griddens bredd på rader


            NumberOfTilesWidth  = settingsObj.NumberOfTilesWidth;
            NumberOfTilesHeight = settingsObj.NumberOfTilesHeight;
            NumberOfTiles       = settingsObj.NumberOfTilesWidth * settingsObj.NumberOfTilesHeight; // Antalet tiles som ska visas i tilestabben


            m_solids  = new int[settingsObj.LvlWidth * settingsObj.LvlHeight]; // det som ska innehålla indexerat om tile är solid
            m_indices = new int[settingsObj.LvlWidth * settingsObj.LvlHeight]; // det som indexerat ska innehålla vilken tile (index på spritesheet) som ska visas i cell



            int currIdx = 0;

            for (int i = 0; i < settingsObj.NumberOfTilesHeight; i++)
            {
                for (int j = 0; j < settingsObj.NumberOfTilesWidth; j++)
                {
                    // Jävligt osäker på den här
                    var       y         = i * settingsObj.TileWidthPX;
                    var       x         = j * settingsObj.TileHeightPX;
                    Rectangle cloneRect = new Rectangle(x, y, settingsObj.TileWidthPX, settingsObj.TileHeightPX);
                    System.Drawing.Imaging.PixelFormat format =
                        pSprite.PixelFormat;
                    Image cloneBitmap = (Image)pSprite.Clone(cloneRect, format);

                    //TODO: path

                    string fileLocation = System.IO.Path.Combine(Environment.CurrentDirectory, @"Content\Load\Tiles");

                    bool exists = System.IO.Directory.Exists(fileLocation);

                    if (!exists)
                    {
                        try
                        {
                        }
                        catch (Exception e)
                        {
                            throw;
                        }
                    }


                    var imgFilePath =
                        fileLocation +
                        @"\img" + currIdx + ".jpg";

                    cloneBitmap.Save(imgFilePath, ImageFormat.Jpeg);



                    currIdx++;
                }
            }


            return(true);
        }
コード例 #2
0
 public void ReadSettings()
 {
     SettingsObj movie1 = JsonConvert.DeserializeObject <SettingsObj>(File.ReadAllText(@"C:\FurryNachoLevelEditor\Content\Settings\settings.json"));
 }