首页 > 解决方案 > “变换不包含比例的定义,也没有可访问的方法,bla bla bla” Unity C#,有什么想法吗?

问题描述

这是我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class SceneManager : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown("space")) {
            gameObject.GetComponent<Animator>().SetBool("Gone", true);
        }
        if (gameObject.transform.Scale.x == 0) {
            UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync("Stage1");
            UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Stage2");
        }
    }
}

标签: c#unity3d

解决方案


该行:如果 (gameObject.transform.Scale.x == 0)是问题,则 transform.Scale 不存在。您想使用 transform.localScale(用于局部缩放)或 transform.lossyScale(用于包含父级的变换的总缩放)。


推荐阅读