当前位置: 首页>>代码示例>>C#>>正文


C# Chart.QuantizeMeasureLengths方法代码示例

本文整理汇总了C#中Chart.QuantizeMeasureLengths方法的典型用法代码示例。如果您正苦于以下问题:C# Chart.QuantizeMeasureLengths方法的具体用法?C# Chart.QuantizeMeasureLengths怎么用?C# Chart.QuantizeMeasureLengths使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Chart的用法示例。


在下文中一共展示了Chart.QuantizeMeasureLengths方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ConvertChart

        public static void ConvertChart(Chart chart, Configuration config, string filename, int index, int[] map)
        {
            if (config == null)
            {
                config = LoadConfig();
            }

            int quantizeNotes = config["BMS"].GetValue("QuantizeNotes");
            int quantizeMeasure = config["BMS"].GetValue("QuantizeMeasure");
            int difficulty = config["IIDX"].GetValue("Difficulty" + index.ToString());
            string title = config["BMS"]["Players" + config["IIDX"]["Players" + index.ToString()]] + " " + config["BMS"]["Difficulty" + difficulty.ToString()];
            title = title.Trim();

            if (quantizeMeasure > 0)
                chart.QuantizeMeasureLengths(quantizeMeasure);

            using (MemoryStream mem = new MemoryStream())
            {
                BMS bms = new BMS();
                bms.Charts = new Chart[] { chart };

                string name = "";
                if (chart.Tags.ContainsKey("TITLE"))
                    name = chart.Tags["TITLE"];
                if (name == "")
                    name = Path.GetFileNameWithoutExtension(Path.GetFileName(filename)); //ex: "1204 [1P Another]"

                // write some tags
                bms.Charts[0].Tags["TITLE"] = name;
                if (chart.Tags.ContainsKey("ARTIST"))
                    bms.Charts[0].Tags["ARTIST"] = chart.Tags["ARTIST"];
                if (chart.Tags.ContainsKey("GENRE"))
                    bms.Charts[0].Tags["GENRE"] = chart.Tags["GENRE"];

                if (difficulty > 0)
                    bms.Charts[0].Tags["DIFFICULTY"] = difficulty.ToString();

                if (bms.Charts[0].Players > 1)
                    bms.Charts[0].Tags["PLAYER"] = "3";
                else
                    bms.Charts[0].Tags["PLAYER"] = "1";

                name = name.Replace(":", "_");
                name = name.Replace("/", "_");
                name = name.Replace("?", "_");
                name = name.Replace("\\", "_");

                if (title != null && title.Length > 0)
                {
                    name += " [" + title + "]";
                }

                string output = Path.Combine(Path.GetDirectoryName(filename), @"@" + name + ".bms");

                if (map == null)
                    bms.GenerateSampleMap();
                else
                    bms.SampleMap = map;

                if (quantizeNotes > 0)
                    bms.Charts[0].QuantizeNoteOffsets(quantizeNotes);
                bms.GenerateSampleTags();
                bms.Write(mem, true);

                File.WriteAllBytes(output, mem.ToArray());
            }
        }
开发者ID:NoOnes2,项目名称:scharfrichter,代码行数:67,代码来源:BemaniToBMS.cs


注:本文中的Chart.QuantizeMeasureLengths方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。