c# - 如何让一个对象始终在另一个对象前面?
问题描述
我有一个对象和一个玩家。无论玩家在什么位置,如何使对象始终在玩家面前?
嘿伙计们感谢您的回复!只是补充一点,该对象在随机位置生成,然后我让它向玩家移动(这就是为什么我没有让它成为玩家的孩子)。从那时起,它将永远留在玩家面前。
解决方案
您可以将该对象设置为播放器的子对象
GameObject childPlacehoderObj; // Set this to the child you want to give a home
GameObject playerObj; // This will be the parent
childPlacehoderObj.transform.parent = playerObj.transform;
现在孩子将与父母一起移动。
更新:对象在随机位置生成,然后我让它向玩家移动
然后,您可以做的是创建一个空对象,该对象将作为该对象的最终位置。而这个空对象,你让它成为玩家的孩子。
然后你要做的就是使对象,它产生的一个,移动到那个空对象的位置。您可以在应该在播放器前面的对象中添加类似这样的内容
void Update()
{
// Move our position a step closer to the target.
float step = speed * Time.deltaTime; // calculate distance to move
transform.position = Vector3.MoveTowards(transform.position, childPlacehoderObj.position, step);
}
最后,一旦对象到达目标点,您就可以使其成为玩家的子对象。
推荐阅读
- android - 如何创建可重用的 Android BottomSheet 演示文稿
- c++ - 尝试在 Visual Studio 2019 中编译 c++ 项目时出现错误“/ZI”和“/Gy-”命令行选项不兼容如何解决?
- javascript - 如何以角度将数据从子组件传递到子组件?
- c# - 用于解析 JSON 的 C# 扩展,如 Power Query 扩展
- sass - SCSS/SASS 函数。大众减去像素
- java - 启动 maven 插件并在 VS Code 上附加调试器
- reactjs - 在 json fetch 中需要帮助映射
- yugabyte-db - 更改 YugabyteDB 集群中现有服务器的放置位置
- python - 尝试对使用 pyinstaller 创建的应用程序进行代码设计时出现“无法识别、无效或不合适的捆绑格式”错误消息
- azure - 重构 Terraform 变量以实现可扩展性