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


C# XmlNode.GetVector2方法代码示例

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


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

示例1: ImportAtlasData

    /* *** Private Methods *** */
    /// <summary>
    /// Read and parse atlas data from XML file.
    /// </summary>
    private void ImportAtlasData()
    {
        XmlDocument xml = new XmlDocument();
        xml.LoadXml(atlasDataFile.text);
        XmlNode frames = xml.DocumentElement.SelectSingleNode("dict/key");
        List<AtlasData> data = new List<AtlasData>();

        if (frames != null && frames.InnerText == "frames") {
            XmlNodeList subTextureNames = xml.DocumentElement.SelectNodes("dict/dict/key");
            XmlNodeList subTextures = xml.DocumentElement.SelectNodes("dict/dict/dict");
            try {
                for (int si = 0; si < subTextures.Count; si++) {
                    _subTexture = subTextures[si];
                    AtlasData ad = new AtlasData();

                    bool rotated = _subTexture.GetBool("rotated");
                    Rect frame = _subTexture.GetRect("frame");
                    Rect colorRect = _subTexture.GetRect("sourceColorRect");
                    Vector2 sourceSize = _subTexture.GetVector2("sourceSize");

                    try {
                        ad.name = subTextureNames[si].InnerText.Split('.')[0];
                    } catch (System.Exception) {
                        ad.name = subTextureNames[si].InnerText;
                    }
                    ad.position = new Vector2(frame.xMin, frame.yMin);
                    ad.rotated = rotated;
                    ad.size = new Vector2(colorRect.width, colorRect.height);
                    ad.frameSize = sourceSize;
                    ad.offset = new Vector2(colorRect.xMin, colorRect.yMin);

                    data.Add(ad);
                }
            } catch (System.Exception ERR) {
                Debug.LogError("Atlas Import error!");
                Debug.LogError(ERR.Message);
            }
        }

        InitVertices();
        spriteData = new SpriteData[data.Count];
        SpriteData sprite = null;
        for (int i = 0; i < data.Count; i++) {
            sprite = new SpriteData();
            sprite.name = data[i].name;
            sprite.size = data[i].size;
            sprite.sheetPixelCoords = data[i].position;
            sprite.texture = texture;
            sprite.UpdateUVs();

            spriteData[i] = sprite;
        }
    }
开发者ID:whtt-eric,项目名称:cooper-prototypes,代码行数:57,代码来源:SpriteContainer.cs


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