Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 组件。GetComponent<;T>;()';是在给定上下文中无效的方法_C#_Unity3d - Fatal编程技术网

C# 组件。GetComponent<;T>;()';是在给定上下文中无效的方法

C# 组件。GetComponent<;T>;()';是在给定上下文中无效的方法,c#,unity3d,C#,Unity3d,当我尝试获取刚体组件时,unity抛出错误“component.GetComponent()是一个方法,在给定上下文中无效” 代码如下 private void OnMouseUp() { GetComponent<SpriteRenderer>().color = Color.white; Vector2 directionToInitialPosition = _initialPosition - transform.position; GetCompo

当我尝试获取刚体组件时,unity抛出错误“component.GetComponent()是一个方法,在给定上下文中无效” 代码如下

 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