Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 我如何用另一个统一的精灵替换一个统一的精灵?_Unity3d - Fatal编程技术网

Unity3d 我如何用另一个统一的精灵替换一个统一的精灵?

Unity3d 我如何用另一个统一的精灵替换一个统一的精灵?,unity3d,Unity3d,好吧,我一直在制作一个2d平台,我的播放器有一个糟糕的图像/精灵。现在我有了一个更好的,只想替换图像,但保留所有相同的值和数据/脚本等 我一直想弄明白,但没用。感谢您的帮助有一种方法可以做到这一点,虽然不确定这是最好的方法,但它确实有效,那就是: -导入新的精灵(我们称之为精灵) -选择您使用第一个精灵(SpriteA)的游戏对象 -在所选游戏对象的“精灵渲染器”组件中,将“精灵=精灵”替换为新精灵,以便“精灵=精灵” 显然,您必须对可能使用精灵的每个游戏对象重复此操作。如果您想永久更改预设/对

好吧,我一直在制作一个2d平台,我的播放器有一个糟糕的图像/精灵。现在我有了一个更好的,只想替换图像,但保留所有相同的值和数据/脚本等


我一直想弄明白,但没用。感谢您的帮助

有一种方法可以做到这一点,虽然不确定这是最好的方法,但它确实有效,那就是: -导入新的精灵(我们称之为精灵) -选择您使用第一个精灵(SpriteA)的游戏对象 -在所选游戏对象的“精灵渲染器”组件中,将“精灵=精灵”替换为新精灵,以便“精灵=精灵”


显然,您必须对可能使用精灵的每个游戏对象重复此操作。

如果您想永久更改预设/对象上的精灵,可以将新精灵从资源文件夹拖动到要更改的对象的“精灵渲染器”组件中,替换当前在精灵框中的任何内容。查看此图像以查看要将精灵拖动到的确切位置:

O您可以使用公共变量通过脚本进行更改:

public class ChangeSprite: MonoBehaviour
{
    public Sprite newSprite;

    private void ChangeSprite(){
        gameObject.GetComponent<SpriteRenderer>().sprite == newSprite;
    }
}
公共类ChangeSprite:monobhavior
{
公共雪碧;
私有void ChangeSprite(){
gameObject.GetComponent().sprite==newSprite;
}
}