Unity:以编程方式访问生成的SVG精灵

时间:2019-05-22 05:13:13

标签: unity3d svg programmatically

我在位于“资源/ svgs”中的项目中导入了SVG图像(acd.svg)。选择SVG,导入器设置将在检查器中打开,在该检查器中,我已选择选项“ Vector Sprite”作为“ Generated Asset Sprite”。 我可以成功地将SVG Sprite放到场景中(以我的情况为例,它在Canvas中是正确可见的),并且Sprite Renderer组件将Sprite字段设置为acdSprite。

现在,我想以编程方式更改此“ SymbolObject”组件中的Sprite,但我无法理解acdSprite的位置。

我尝试过类似的事情:

  

symbolObject.GetComponent()。sprite =(精灵)   Resources.Load(“ svgs / acd”);

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

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

svv

2 个答案:

答案 0 :(得分:0)

给个小伙子。

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

答案 1 :(得分:0)

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

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

    }