stack - 协助游戏对象重新定位,执行
问题描述
我正在尝试制作一款与“cube surfers”具有相似堆栈机制的游戏。我创建了一个名为 stacks 的空游戏对象,并使其成为玩家的子对象。理论上,在我的项目中,当玩家与盒子碰撞时,盒子应该在玩家下方产生。但是当播放器碰撞时会发生视频 ,它将盒子移动到播放器下方但在地面内,并且盒子不会将播放器向上推,以便玩家可以站在上面。当我将堆栈游戏对象移动到播放器旁边而不是在其下方(从(0,-0.5,0)到(1,0,0)) 视频 堆栈正在工作
请帮助你的兄弟解决这个问题。他该怎么办?将它们作为子对象是坏主意吗?如果是怎么办?请指导我谢谢。
我的代码
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Pickup"))
{
Transform otherTransform = other.transform;
Rigidbody otherRb = otherTransform.GetComponent<Rigidbody>();
otherRb.isKinematic = true;
other.gameObject.GetComponent<BoxCollider>().isTrigger = false;
if (parentPickup == null)
{
parentPickup = otherTransform;
parentPickup.position = stackPosition.position;
parentPickup.parent = stackPosition;
}
else
{
parentPickup.position += Vector3.up * (otherTransform.localScale.y) ;
otherTransform.position = stackPosition.position;
otherTransform.parent = parentPickup;
}
}
}
解决方案
推荐阅读
- vuetify.js - Vuetify:如何在同一行对齐图标和长文本?
- haproxy - 将 HAProxy 用于普通 forwardProxy 是个好主意吗?
- python - 标准环境下的 GAE 第三方库(如 MySQLdb)
- javascript - Sequelize,MySQL - 使用 JSON 列值过滤表中的行
- javascript - 如何使用 Fetch API 在局部视图 MVC 中包含 CSS 文件和脚本文件
- javascript - 用 dom JS 移除 tr 标签
- jquery - 复选框的jQuery验证消息不起作用
- cassandra - 进行 nodetool 修复时,cassandra 在写入期间超时
- qt - QML:无法将 [未定义] 分配给
- c# - SqlException on Commit() 事务操作无法执行,因为有待处理的请求正在处理此事务