【问题标题】:Set values to component script before attaching it to a gameObject在将其附加到游戏对象之前将值设置为组件脚本
【发布时间】:2016-08-28 13:03:44
【问题描述】:

我正在创建人群控制效果(缓慢、冻结、眩晕、圈套...),它们都在单独的脚本中,并且在需要时附加到玩家的游戏对象上。但是,如果我想在脚本中使用不同的值一次有 2 次减速,我不确定如何更改这些值。我希望能够在将脚本类添加到实际的游戏对象之前对其进行某种实例化。

Foo someClass = new Foo();
someClass.Duration = 10;
someClass.SlowAmount = 10;
PlayerObject.AddComponent<someClass>();

Foo someClass2 = new Foo();
someClass2.Duration = 1;
someClass2.SlowAmount = 1;
PlayerObject.AddComponent<someClass2>();

【问题讨论】:

    标签: c# class unity3d


    【解决方案1】:

    首先,我建议您的类始终使用大写字母,变量使用小写字母以便于区分它们:

    SomeClass, SomeClass2
    

    要回答您的问题,您可以将类保存在变量中,然后操作值:

    SomeClass someClass = playerObject.AddComponent<SomeClass>() as SomeClass;
    someClass.duration = 10;
    someClass.slowAmount = 10;
    

    【讨论】:

    • 这只是一个示例代码。公共变量/函数也应该以大写字母开头。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 2020-09-03
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多