Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/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# 将Rigidbody2D主体类型设置为";“静态”;密码?_C#_Unity3d - Fatal编程技术网

C# 将Rigidbody2D主体类型设置为";“静态”;密码?

C# 将Rigidbody2D主体类型设置为";“静态”;密码?,c#,unity3d,C#,Unity3d,我最近更新了我的Unity(从5.4.1f1升级到5.5.0f3),现在我的一款游戏中的Rigidbody2D似乎出现了一些问题 所以基本上我用这段代码来让我的游戏对象(玩家)不难处理,并且不受物理控制: Player.GetComponent<Rigidbody2D>().isKinematic = true; Player.GetComponent().iskinetic=true; 这在Unity更新后无法正常工作,并且在将玩家设置为运动学时,它会保持与“动态”(但无法控制

我最近更新了我的Unity(从5.4.1f1升级到5.5.0f3),现在我的一款游戏中的Rigidbody2D似乎出现了一些问题

所以基本上我用这段代码来让我的游戏对象(玩家)不难处理,并且不受物理控制:

Player.GetComponent<Rigidbody2D>().isKinematic = true;
Player.GetComponent().iskinetic=true;
这在Unity更新后无法正常工作,并且在将玩家设置为运动学时,它会保持与“动态”(但无法控制)时相同的方向移动。注:Unity 5.4.1f1中并非如此

所以我进入Rigidbody2D组件,注意到它已经改变了。 及

“运动学”选项被移动到“body type”选项中,在运行时,它确实使用“.isKinetic=true”字符串将body type更改为运动学(但它没有像前面提到的那样正常工作)

因此,我尝试在运行时手动将body type值更改为“static”,并注意到这非常有效

所以我的问题是:如何在代码中将主体类型更改为静态?(如“IsKinetic”),以及对Rigidbody2D(和运动学?)的更改中发生了什么

Player.GetComponent<Rigidbody2D>().bodyType = RigidbodyType2D.Static;
Player.GetComponent().bodyType=RigidByType2D.Static;

值得一提的是,如果Unity的小版本之间的更新是破坏它的,那么其他的东西可能是错误的,但是如果没有看到更多的项目,我是不会肯定的。

看起来这个问题的答案似乎需要Unity类库的知识,所以请考虑添加TAG.O.R.MaPer-HI。对Unity/C和术语还是有点陌生,所以我不太确定想要什么?据我所知,我没有使用“Unity类库”。游戏对象“玩家”没有标记,而是通过“公共游戏对象玩家”(在Unity中绘制到组件框“玩家”中)在代码中进行控制。这是你的要求吗?或者说我没有任何意义。谢谢你advance@KristofferRasmussen他指的是你的问题是特定于Unity的,所以用
unity3d
(斯科特似乎为你做了:)@LukeBriggs OhGeez。我很困惑。谢谢斯科特;)@Kristoferrasumsen:只要您使用像
Rigidbody2D
Player
这样的类型,您就在使用Unity类库(即Unity包含的一组类),因为没有Unity这些类是不可用的。事实上,正如Luke所说,我指的是在这里标记你的问题——因为大多数了解C#的用户仍然不知道所提到的Unity类的细节。这非常有效!谢谢我确信我的代码中有错误,但现在这会起作用。@Kristoferrasumssen没问题!如果您确定这只是更新,那么这可能是一个Unity bug,或者您可能以他们不期望的方式使用Unity。不过这没什么好担心的——我也经常遇到这种情况,我使用Unity已经有8年多了:)只要你明白什么是静态刚体,这就是你想要的,那就好了。