首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用我的方法实例化为对象的Prefab

使用我的方法实例化为对象的Prefab
EN

Stack Overflow用户
提问于 2022-04-15 07:33:00
回答 1查看 46关注 0票数 0

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

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

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

当我实例化预置文件时,会调用Start方法。但是实例当然是GameObject类型。

代码语言:javascript
复制
// 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类的实例,或者我的假设完全错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-15 09:45:10

结构统一:

当实体是游戏对象,组件是附加到这个游戏对象的类(脚本)时,

  • 事物被划分为实体和组件。

你只需要这么做

代码语言:javascript
复制
PowerupWidget yourWidget = p.GetComponent<PowerupWidget>();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71881269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档