Prefab用我的方法实例化为一个对象



我有一个想法,必须有一种方法将类附加到预制-基本上是添加我自己的方法到代码。然后,当我在运行时实例化我的预制件时,我希望它是这个类的一个实例。

现在,我可以将脚本附加到预制件,它的开始和更新工作,但我的想法是这样的:

public class PowerupWidget : MonoBehaviour {
    void Start() {
        Debug.Log("PowerupWidget created!!!");
    }
    void SetTitle(string title) {
        // ... set the prefab's title widget text ...
    }
}

当我实例化我的预制时,Start方法被调用。但是实例当然是GameObject类型。

// in my scene script:
// prefab is my PowerupWidget
GameObject p = Instantiate(prefab, transform.position, Quaternion.identity, this.transform);
// here p is GameObject of course

是否有一种方法如何获得的实例的PowerupWidget类,或者我完全错误的假设?

结构统一:

  • 东西分为实体和组件,当实体是游戏对象,组件是类(脚本)附加到这个游戏对象。

你只需要做这个

PowerupWidget yourWidget = p.GetComponent<PowerupWidget>();

最新更新