gpt4 book ai didi

c# - 当我点击鼠标轨迹传送

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:55 25 4
gpt4 key购买 nike

我正在尝试制作鼠标踪迹。因此,当您按住鼠标按钮时,它会开始追踪,您可以四处移动,然后当您松开鼠标时,它就会消失。我为此使用了轨迹渲染器。

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

然后我有一条轨迹,它是我拖到 Blade 脚本中的预制件。这是 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);
}
}

唯一的问题是,当我按住鼠标时, Blade 会疯狂地传送到我的鼠标位置,并带有轨迹渲染器。

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

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

最佳答案

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

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

关于c# - 当我点击鼠标轨迹传送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50890800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com