Gro*_*ion 2 c# canvas unity-game-engine
我需要在画布内实例化一个预制件,已经尝试了几种解决方案,但没有一个有效。你能帮我吗?
这是我的脚本:
class Smoke1 : MonoBehaviour
{
public GameObject myPrefab;
public GameObject canvasObject;
void Start()
{
Instantiate(myPrefab, new Vector3(0, -25, 90), Quaternion.Euler(-90, 0, 0));
myPrefab.transform.SetParent(canvasObject.transform, false);
myPrefab.transform.localScale = new Vector3(1, 1, 1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个:
myPrefab.transform.parent = canvasObject.transform;
Run Code Online (Sandbox Code Playgroud)
请尝试使用此代码。
我已经尝试过你的代码,它向我抛出了以下错误消息:
禁用设置驻留在预制件中的变换的父级以防止数据损坏。
using UnityEngine;
public class Smoke1 : MonoBehaviour
{
public GameObject myPrefab;
public GameObject canvasObject;
void Start()
{
GameObject newSmoke = Instantiate(myPrefab, new Vector3(0, -25, 90), Quaternion.Euler(-90, 0, 0)) as GameObject;
newSmoke.transform.SetParent(canvasObject.transform, false);
newSmoke.transform.localScale = new Vector3(1, 1, 1);
}
}
Run Code Online (Sandbox Code Playgroud)
您的主要问题是您试图设置 myPrefab 的 setParent ,这不是您创建的实例。
| 归档时间: |
|
| 查看次数: |
5820 次 |
| 最近记录: |