【发布时间】:2018-07-12 16:45:04
【问题描述】:
我有点进退两难。我正在开发一个游戏,我需要做一些我不明白的事情。我有一个使用此脚本上下移动的对象:
void FixedUpdate()
{
if (canClick)
{
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(0f, moveVertical, 0f);
Tucan.GetComponent<Rigidbody2D>().velocity = movement * speed;
Tucan.GetComponent<Rigidbody2D>().position = new Vector3
(
-7.5f,
Mathf.Clamp(Tucan.GetComponent<Rigidbody2D>().position.y, boundary.yMin, boundary.yMax),
0.0f
);
}
}
现在我想在单击鼠标 (0) 时执行此操作,如果 Mouse.y> 0 则对象向上移动,如果 Mouse.y 位置 则分别向下移动
private void Update()
{
Vector3 mouse = Camera.main.ScreenToWorldPoint(Input.mousePosition);
if (Input.GetMouseButton(0))
{
if (mouse.y > 0f)
{
}
else
{
}
}
}
如何执行与 FixedUpdate 相同的代码,在 Update 中运行它,但要进行检查。并且已经依赖于 Mouse.y。
【问题讨论】:
-
您的意思是鼠标是否在对象上方? i 鼠标在屏幕中心上方?
-
所以屏幕将它一分为二,当我点击向上时,它会向上移动,反之亦然