c# - 碰撞后不能让我的游戏对象改变位置
问题描述
编辑:玩家、硬币、磁铁、磁铁收藏品 4 种不同的游戏对象
当我与磁铁收藏品发生碰撞时,磁铁游戏对象被激活。它有一个大碰撞器并且没有网格,所以它在玩家之前碰撞。想法是当它与硬币碰撞时,硬币应该向玩家移动,甚至磁铁会因为它的位置而工作由于附加的脚本,与玩家相同。
图片:
我正在尝试制作 3d 跑步游戏,我已经阅读了所有相关主题并观看了 youtube 上的所有内容。这对你来说可能听起来像是一个俗气的问题,但我是编码的初学者。所以我的问题是,在我拿起硬币磁铁后,我将磁铁游戏对象设置为活动状态,当它与黄金碰撞时,黄金应该向我的玩家移动。我无法完成这项工作。现在已经尝试了一天半。等待你的解决方案我也尝试了通过将 debug.log 放在那里的代码,它们被打印到控制台。似乎硬币不会改变它们的位置,除非你们试一试
我把它贴在硬币上
public GameObject p;
private float movementSpeed= 10f;
private void Start()
{
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Magnet"))
{
transform.position = Vector3.MoveTowards(transform.position, other.transform.position, movementSpeed * Time.deltaTime);
}
}
这会吸引人
void Start()
{
transform.position = p.transform.position;
}
// Update is called once per frame
void Update()
{
transform.position = p.transform.position;
}
也尝试了这个代码的硬币,但它也没有工作
public GameObject p;
private float movementspeed= 10f;
private void Start()
{
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Magnet"))
{
transform.position =(transform.position - p.transform.position)*time.deltatime*speed;
}
}
如果需要其他任何东西,我会立即更新帖子。我只是在这里等待解决方案。谢谢
解决方案
推荐阅读
- .htaccess - 将 htaccess 文件转换为 nginx try_file 用于子文件夹
- javascript - 将数组 A 和 B 的差异添加到数组 A
- vue.js - 组件安装两次
- python - PyQt 5:扩展窗口时如何保持相对的小部件大小
- sql-server - 在 Visual Studio 中修复此实体框架迁移 00000000000000_CreateIdentitySchema?
- r - R:UK choropleth,来自 euro_example 的数据,使用我自己的数据集作为颜色渐变来显示变量的密度
- javascript - Directus API SDK:如何使用 M2M 过滤器获取项目
- video - ffmpeg hwmap SW 解码帧到 OpenCL 和 hwmap 返回 h264 以进行 SW 编码
- c# - 从看起来像专有的 C# 数据文件中获取可用数据?
- jquery - 我想通过 jquery 脚本更改移动视图中每行的数据项