gpt4 book ai didi

c# - 使用 GetComponent 获取使用字符串的脚本

转载 作者:太空狗 更新时间:2023-10-29 23:31:01 24 4
gpt4 key购买 nike

使用以下代码,我能够从“SMG”获取脚本并将其应用于武器对象:

weaponObject = GameObject.FindGameObjectWithTag(SMG).GetComponent<SMGScript>();

是否可以执行类似以下操作,如果可以,如何操作?

string variable = "SMG";

weaponObject = GameObject.FindGameObjectWithTag(variable).GetComponent<variable>();

我想要一些脚本,我可以根据变量将其应用于 weaponObject。

最佳答案

因为我看到武器的名称与脚本的名称不同,所以您需要 2 个变量。

string variable = "SMG";
string scriptName = "SMGScript";
GameObject.FindGameObjectWithTag(variable).GetComponent(scriptName);

这样效率不高。


解决方案

你想要做的是拥有一个父类,你所有的武器都将继承自它。

public interface Weapon
{
}

然后你像这个例子一样创建你所有的武器:

public class M4 : MonoBehaviour, Weapon
{
}

public class MP5: MonoBehaviour, Weapon
{
}

当你想获取脚本组件时,你可以简单地使用这个:

string tag = "Weapon";

Weapon w = GameObject.FindGameObjectWithTag(tag).GetComponent(typeof(Weapon)) as Weapon;

关于c# - 使用 GetComponent 获取使用字符串的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com