unity3d - 在 Start() 中设置玩家的位置
问题描述
我有 2D 刚体作为我的播放器。游戏开始时,我想将其位置设置为(0,-3)。我查看了文档并认为我可以使用以下方法来实现我想要的:
rb.position = new Vector2(0.0f,-3.0f);
rb.position.Set(0.0f,-3.0f);
rb.transform.position = new Vector2(0.0f,-3.0f);
我在 rb = this.GetComponent(); 之后将它们放在 Start() 中;但是,这些都不起作用。
我应该怎么办?
解决方案
刚体不应该被它们的位置、旋转或平移变量/函数移动,因为它是由物理引擎控制的,所以它可能会产生不良影响。如果你的 Rigidbody 被标记为 Kinematic,你应该使用Rigidbody2D.MovePosition来移动它。
推荐阅读
- sql - 如何按小时对 DataFrame 值进行分组?
- node.js - 在 Windows 上安装 canvas npm 包时出错
- angular - 从 Angular 2 理解 *ngFor
- php - 使用ajax和php从数据库中获取行
- sql-server - 如何在 JSON_VALUE 中允许特殊字符
- google-apps-script - 将 Google Admin SDK Reports API 与 Google 应用制作工具一起使用
- c# - EditorTemplate ASP MVC 5 的自定义验证
- docker - 不同容器的相同泊坞窗图像
- javascript - 如何将另一个选项卡动态添加到引导选项卡
- java - Vert.x HttpClient 不会重新连接到重新启动的服务器