【问题标题】:Unity: accessing generated SVG sprites programmaticallyUnity:以编程方式访问生成的 SVG 精灵
【发布时间】:2019-05-22 05:13:12
【问题描述】:

我在我的项目中导入了一个 SVG 图像 (acd.svg),它位于“Resources/svgs”中。选择 SVG,Importer 设置会在 Inspector 中打开,其中我选择了“Vector Sprite”选项作为“Generated Asset Sprite”。 我可以成功地将 SVG sprite 放到场景中(在我的情况下是在 Canvas 中并且它是正确可见的)并且 Sprite Renderer 组件将 Sprite 字段设置为 acdSprite。

现在,我想以编程方式更改此“SymbolObject”组件中的 Sprite,但我不明白 acdSprite 的位置。

我尝试了类似的方法:

symbolObject.GetComponent().sprite = (Sprite) Resources.Load("svgs/acd");

但我得到一个 InvalidCastException 。 我的问题是:如何以编程方式访问 Unity 代码中的 acdSprite?

我正在使用 Unity 2019.1.0f2,并且 SVG 支持似乎工作得很好

【问题讨论】:

    标签: unity3d svg programmatically


    【解决方案1】:

    通过公共游戏对象统一传递导入的SVG文件的引用。

     public GameObject svgImage;
     private void LoadsvgImage()
        {
        Sprite sprite = svgImage.GetComponent<SpriteRenderer>().sprite;
    
        }
    

    【讨论】:

      【解决方案2】:

      小伙子,试试吧。

      function Start() {
          GetComponent(SpriteRenderer).sprite = image;
      }
      

      【讨论】:

      • 对不起,图片是什么?
      • "image" 只是一个占位符;用你的图片替换它(“svgs/acd”)。
      猜你喜欢
      • 1970-01-01
      • 2017-06-09
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 2014-05-19
      • 2018-09-01
      • 2019-07-13
      • 1970-01-01
      相关资源
      最近更新 更多