C# 不包含“AddComponent”的定义,并且Unity中没有可访问的扩展方法“AddComponent”错误
在下面的代码中,我试图创建一个实例化游戏对象,并将该组件添加到expose to Editor中,但在Unity中出现了下面的错误。似乎无法将_currentPiece添加到ExposeToEditor中,我正在尝试为其找到修复方法。解决办法是什么 错误CS1061:“SnapPiece”不包含“AddComponent”的定义,并且找不到接受“SnapPiece”类型的第一个参数的可访问扩展方法“AddComponent”。是否缺少using指令或程序集引用C# 不包含“AddComponent”的定义,并且Unity中没有可访问的扩展方法“AddComponent”错误,c#,unity3d,components,C#,Unity3d,Components,在下面的代码中,我试图创建一个实例化游戏对象,并将该组件添加到expose to Editor中,但在Unity中出现了下面的错误。似乎无法将_currentPiece添加到ExposeToEditor中,我正在尝试为其找到修复方法。解决办法是什么 错误CS1061:“SnapPiece”不包含“AddComponent”的定义,并且找不到接受“SnapPiece”类型的第一个参数的可访问扩展方法“AddComponent”。是否缺少using指令或程序集引用 public class Snap
public class SnappableSpawner : MonoBehaviour
{
public GameObject prefabSnapPiece;
public float initialDistanceToSpawnAt = 1f;
private float _currentDistanceToPositionAt;
private SnapPiece _currentPiece;
private int _spawnSuffix = 1;
public void SpawnGhostToMouse()
{
if( _currentPiece == null )
{
_snapMode = PointerSnapMode.ABSOLUTE_PROJECTION;
_currentDistanceToPositionAt = initialDistanceToSpawnAt;
_currentPiece = GameObject.Instantiate( prefabSnapPiece ).GetComponent<SnapPiece>();
_currentPiece.name = "Spawned-"+_spawnSuffix;
_spawnSuffix++;
ExposeToEditor exposeToEditor = _currentPiece.AddComponent<ExposeToEditor>();
IRTE editor = IOC.Resolve<IRTE>();
editor.Undo.RegisterCreatedObjects(new[] { exposeToEditor });
}
}
与GetComponent不同,GetComponent由两者实现,MonoBehavior从中继承
仅由GameObject实现
您需要始终通过相应的游戏对象,如
与GetComponent不同,GetComponent由两者实现,MonoBehavior从中继承
仅由GameObject实现
您需要始终通过相应的游戏对象,如
您可能需要_currentPiece.gameObject.AddComponent。。。或者,您不会将单行为添加到单行为,而是添加到GameObjectsHanks。这似乎奏效了!您可能需要_currentPiece.gameObject.AddComponent。。。或者,您不会将单行为添加到单行为,而是添加到GameObjectsHanks。这似乎奏效了!谢谢你的澄清,德胡戈!您推荐的代码已经解决了我的编码错误。感谢derHugo的澄清!您推荐的代码解决了我的编码错误。
ExposeToEditor exposeToEditor = _currentPiece.gameObject.AddComponent<ExposeToEditor>();