gpt4 book ai didi

c# - 在代码中将 Rigidbody2D 主体类型设置为 "static"?

转载 作者:行者123 更新时间:2023-12-02 00:49:18 25 4
gpt4 key购买 nike

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

所以基本上我曾经使用这段代码来使我的游戏对象(玩家)变得不易处理并脱离物理控制:

Player.GetComponent<Rigidbody2D>().isKinematic = true;

这在 Unity 更新后无法正常工作,并且在将播放器设置为运动学时,它会继续沿与“动态”(但无法控制)时相同的方向移动。注意:在 Unity 5.4.1f1 中不是这种情况。

所以我进入 Rigidbody2D 组件并注意到它发生了变化。 How my old Rigidbody2D looked likeHow my new RigidBody2D looks like now

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

所以我尝试在 runetime 中手动将正文类型值更改为“静态”,发现效果很好!

所以我的问题是:如何在代码中将正文类型更改为静态? (如“isKinematic”),以及 Rigidbody2D(和 Kinematics?)的变化发生了什么

最佳答案

bodyType property on Rigidbody 可能是您正在寻找的:

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

值得一提的是,如果在 Unity 的次要版本之间进行更新导致它损坏,则其他可能是错误的,但如果没有看到您的更多项目,我无法确定。

关于c# - 在代码中将 Rigidbody2D 主体类型设置为 "static"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41264316/

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