C# 当我点击鼠标时,鼠标轨迹正在传送

C# 当我点击鼠标时,鼠标轨迹正在传送,c#,unity3d,C#,Unity3d,我想留下老鼠的足迹。因此,当你按住鼠标按钮时,它会开始跟踪,你可以四处移动,然后当你松开鼠标时,它就会消失。我正在为此使用轨迹渲染器 我试图复制《水果忍者》中的刀锋。所以我有一个叫做blade的空游戏对象,带有运动学刚体2d和我的blade脚本 然后,我有一条线索,这是一个预设,我拖到刀片脚本。以下是刀片脚本: bool isCutting = false; Rigidbody2D rb; Camera cam; public GameObject trail; GameObject curr

我想留下老鼠的足迹。因此,当你按住鼠标按钮时,它会开始跟踪,你可以四处移动,然后当你松开鼠标时,它就会消失。我正在为此使用轨迹渲染器

我试图复制《水果忍者》中的刀锋。所以我有一个叫做blade的空游戏对象,带有运动学刚体2d和我的blade脚本

然后,我有一条线索,这是一个预设,我拖到刀片脚本。以下是刀片脚本:

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);
    }
}
bool isCutting=false;
刚体2d rb;
摄像机;
公共游戏对象轨迹;
游戏对象轨迹;
私有void Start()
{
rb=GetComponent();
cam=Camera.main;
}
无效更新()
{
if(Input.GetMouseButtonDown(0))
{
isCutting=true;
currentTrail=实例化(trail,transform);
}else if(Input.GetMouseButtonUp(0))
{
isCutting=false;
currentTrail.transform.SetParent(null);
}
如果(正在切割)
{
rb.position=凸轮屏幕到世界点(输入鼠标位置);
销毁(currentTrail,2f);
}
}
唯一的问题是,当我按住鼠标时,刀片会用轨迹渲染器疯狂地传送到我的鼠标位置

<> p>所以我认为默认的刀片位置在相机的中间,如果我在顶部拖拽,你可以看到刀片的起点是从中间到顶部的直线轨迹,我想在我点击的地方开始跟踪。p>
我希望这是有道理的。谢谢

尝试将
Update()
方法的最后一部分更改为:

if (isCutting)
{
    currentTrail.transform.position = rb.position = cam.ScreenToWorldPoint(Input.mousePosition);
    Destroy(currentTrail, 2f);
}
可能会读。