当我点击时鼠标轨迹传送

时间:2018-06-16 18:52:07

标签: c# unity3d

我试图制作鼠标踪迹。因此,当您按住鼠标按钮时,它会启动轨迹,您可以四处移动,然后当您释放时,它会消失。我正在使用线索渲染器。

我试着复制像水果忍者这样的东西中看到的刀片。所以我有一个名为blade的空游戏对象,带有运动刚体2d和我的刀片脚本。

然后我有一条路径,这是我拖入刀片脚本的预制件。这是刀片脚本:

bool isCutting = false;
Rigidbody2D rb;
Camera cam;

public GameObject trail;
GameObject currentTrail;

private void Start()
{
    rb = GetComponent<Rigidbody2D>();
    cam = Camera.main;
}

void Update () 
{
    if (Input.GetMouseButtonDown(0))
    {
        isCutting = true;
        currentTrail = Instantiate(trail, transform);
    } else if (Input.GetMouseButtonUp(0))
    {
        isCutting = false;
        currentTrail.transform.SetParent(null);
    }

    if (isCutting)
    {
        rb.position = cam.ScreenToWorldPoint(Input.mousePosition);
        Destroy(currentTrail, 2f);
    }
}

唯一的问题是,当我按住鼠标时,刀片疯狂地通过跟踪渲染器传送到我的鼠标位置。

所以我认为默认的刀片位置在相机的中间,如果我拖动并保持在顶部,你可以看到刀片的开始是从中间到顶部的直线轨迹,我想要从我点击的地方开始。

我希望这是有道理的。感谢

1 个答案:

答案 0 :(得分:3)

尝试将Profile方法的最后一部分更改为:

Update()