【问题标题】:Change gameobject sprite from other scene从其他场景更改游戏对象精灵
【发布时间】:2019-12-06 17:28:50
【问题描述】:

我是新手,正在学习编码。如何通过按钮代码更改另一个游戏场景中的精灵。

using UnityEngine;

public class PlayerChoice : MonoBehaviour
{
  public GameObject plo;
  public Sprite boy;
  public Sprite girl;

  public void Boy()
  {
    plo.GetComponent<SpriteRenderer>().sprite = boy;
  }

  public void Girl()
  {
    plo.GetComponent<SpriteRenderer>().sprite = girl;
  }
}

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    您实际上无法按照您尝试的方式进行操作。 这对于初学者来说有点棘手,您必须阅读一些内容才能了解它。 这是您可以深入研究的一些起点:

    你必须制作一个存在于场景之间的游戏对象

    DontDestroyOnLoad(targetGameObject);
    

    见:https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html

    在这个游戏对象上,您可以有一个脚本来保存下一个场景中需要的所有变量。 切换场景时访问该对象并获取您的值;

    【讨论】:

    • 应该更准确,抱歉。他不能像他试图做的那样拥有跨场景参考和更改值。
    猜你喜欢
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    相关资源
    最近更新 更多