我应该如何做这个动画或者我该如何解决这个困境?
因此,我有一个立方体,我想制作一个游戏,立方体从一个立柱跳到另一个立方体,现在我在想要使立方体坠落的点,如果立方体停留在立方体上超过给定量的时间。我应该如何做这个动画或者我该如何解决这个困境?
我不想使用物理或刚体,我只使用transform.position
和Raycast
单击下一个pylon我希望立方体跳跃,我想使用动画,所以如果幼崽保持的不止一个如果在当前的塔上花费一定的时间,那么塔就会随着它的立方体而落下。
问题是我不知道该做什么,从哪里开始;关于统一动画我只知道如何做动画片段。
我会学习做其他事情,但我实际上没有ideea如何解决这个问题,我应该使用什么技术来获得期望的结果,以及如何?
- 首先,您需要检测立方体是否在塔上。
- 如果是,那么你需要启动一个计时器。
- 如果计时器达到0,那么塔就会下降。
您可以使用OnCollisionEnter检测是否立方体已与相撞(登陆)的塔:
void OnCollisionEnter(Collision col)
{
// Check if it is the cube that has collided.
if (col.gameObject.name == "Player") // Make sure to assign the Player Tag to the cube
{
// Start countdown timer.
}
}
你可以使用coroutine开始倒计时。 您需要在课程顶部添加using System.Collections;
。
使用StartCoroutine(MyCoroutine());
IEnumerator MyCoroutine()
{
// Wait for 3 seconds.
yield return new WaitForSeconds(3f);
// Make the pylon fall now.
}
此代码将导致游戏做某件事之前等待3秒钟,打电话给你的协同程序。您如何使吊架落下取决于您,您可以使用RigidBody并将其从真到假设置为isKinematic作为示例,但由于您已经说过您不想使用物理,因此可以使用Transform.position
将吊架向下翻译。
这应该让你开始。
非常感谢! –
考虑到您的吊架需要掉下来,您可以在3秒内制作一个计数器,然后将吊架的'transfrom.position.y'更改为0.要实现'动画'效果,您可以使用Vector3 .Lerp'功能来移动塔。虽然我会不同地推荐使用'RigidBody',因为它会使一切变得更简单。 – Hristo