C# 组件。GetComponent<;T>;()';是在给定上下文中无效的方法
当我尝试获取刚体组件时,unity抛出错误“component.GetComponent()是一个方法,在给定上下文中无效” 代码如下C# 组件。GetComponent<;T>;()';是在给定上下文中无效的方法,c#,unity3d,C#,Unity3d,当我尝试获取刚体组件时,unity抛出错误“component.GetComponent()是一个方法,在给定上下文中无效” 代码如下 private void OnMouseUp() { GetComponent<SpriteRenderer>().color = Color.white; Vector2 directionToInitialPosition = _initialPosition - transform.position; GetCompo
private void OnMouseUp()
{
GetComponent<SpriteRenderer>().color = Color.white;
Vector2 directionToInitialPosition = _initialPosition - transform.position;
GetComponent<Rigidbody2D>().AddForce(directionToInitialPosition * 100);
GetComponent<Rigidbody2D>.gravityScale = 1;
}
private void OnMouseUp()
{
GetComponent().color=color.white;
向量2方向到初始位置=_initialPosition-transform.position;
GetComponent().AddForce(指向初始位置*100);
GetComponent.gravityScale=1;
}
您的问题在这一行:
GetComponent.gravityScale=1代码>
您希望调用该方法,而不是仅仅引用它。换个地方试试这个:
GetComponent().gravityScale=1代码>
您也可以考虑只调用一次函数并将RigiBoDyD2D存储在变量中,例如:
Rigidbody2D rigidbody = GetComponent<Rigidbody2D>();
rigidbody.AddForce(directionToInitialPosition * 100);
rigidbody.gravityScale = 1;
Rigidbody2D rigidbody=GetComponent();
刚体.附加力(初始位置方向*100);
刚体重力标度=1;
GetComponent
是一种方法。最后一行缺少括号,应该是GetComponent().gravityScale=1代码>