Sonic是Unity中类似刺猬的对角保镖

时间:2018-01-01 23:07:24

标签: c# unity5

我在Unity玩2D平台游戏,我希望像春天一样有刺猬索尼克,当你踩到它时,玩家会被反弹得非常高。到目前为止我想出的是这个。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Bouncing : MonoBehaviour 
{
public Vector2 bouncingPower;

void OnTriggerEnter2D(Collider2D other)
{
    if (other.gameObject.CompareTag ("Player")) 
    {
        other.gameObject.GetComponent<Rigidbody2D>().velocity = new Vector2 (bouncingPower.x, bouncingPower.y);
    }
}

这有效,但仅适用于y轴。我为y设置了力量,当玩家踩到保镖时,它将被弹回高位,具体取决于y值。

然而,我也想让保镖处于对角位置,所以当玩家与这种保镖碰撞时,玩家会被对角地抛出,但是当我设置x值时,它也有效。玩家只会向侧面倾斜一点,并且关于它。我知道设置这些值只会决定玩家被反弹的强度,而不是设置角度。

有什么好的解决方案让玩家被投入,让我们说,45度?我希望如果玩家只能在x轴上弹跳,但不是真正的强制性。

1 个答案:

答案 0 :(得分:-1)

我知道这不是最好的解决方案,事实上我最初会做同样的事情,用X-Y矢量设置刚体速度。

但如果您说这不起作用,您可以尝试在&#34;跳线&#34;中添加效果器

这是一个关于2d效应器如何工作的好教程。

https://www.youtube.com/watch?v=hgUqhsAzGWs