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