繁体   English   中英

我可以让角色在 Unity 2D 中携带 object 吗?

[英]Can I make a character carry an object in Unity 2D?

这可能是一个非常简单的问题,但是在Unity 2D中是否可以让角色携带一个object? 我可以让 object 以与玩家相同的速度移动,我可以让玩家 object 左右翻转。 但是,当玩家移动到一侧时,我希望玩家面对的 object 显然不会随之移动。 我找不到太多镜像成像的代码,所以我首先尝试使用变换传送角色。 position 命令如下:

if (stHorizontalInput > 0.01f)
        {
            float stHorizontalOutput1 = stHorizontalInput * spede * Time.deltaTime;
            float stVerticalOutput1 = stVerticalInput * spede * Time.deltaTime;
            while (stHorizontalOutput1  < 10f)
            {
                transform.position = transform.position + new Vector3(stHorizontalOutput1, stVerticalOutput1, 0);
            }
        }

然而,这实际上并没有奏效。 起初,object 明显移动,而且移动速度也很快,我认为一个简单的 while 循环可以解决 object 移动得太远太快的问题,并且比我需要的更远,但是添加了一个 while 循环,如图所示为了防止移动得太远,object 根本不会移动。 我不能让 object 和玩家成为一项资产,因为 object 需要有玩家不能拥有的特定 function。

仍在学习更多关于统一的知识,但我认为从脚本的角度来看,你应该能够用这样的东西将你的 object “附加”到你的角色。

GameObject specialObject;
GameObject Character;
void SomeFunction()
{
specialObject. transform. position 
= 
Character. transform. position;
}

您可以使用偏移量将其正确放置在手上。 可能需要 ifLeft == true 或其他东西来调整翻转的偏移量。

本 Unity 学习指南讨论了如何使用相机进行此操作。 https://learn.unity.com/tutorial/1-3-make-the-camera-follow-the-vehicle-with-variables

我想你可以在 2D 视图中为你的角色和 object 做非常相似的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM