鼠标不断更新的舍入位置固定
Rounding position with mouse constant update FIXED
我正在用 C# (unity) 制作马里奥制造商风格的游戏,其中所有内容都必须对齐网格。我想在拖动它的同时,让项目卡入最靠近每个 int 的位置。
void FixedUpdate () {
Vector2 pos = Input.mousePosition;
pos.x = Mathf.Round(pos.x);
pos.y = Mathf.Round(pos.y);
pos = Camera.main.ScreenToWorldPoint (pos);
transform.position = pos;
}
这对我不起作用,我已经尝试了几个小时来解决这个问题。到目前为止没有任何帮助,我浏览了我能找到的每个论坛都无济于事。请帮忙!!
我认为您应该在将像素位置更改为世界位置后对值进行舍入。
我是说,之后
pos = Camera.main.ScreenToWorldPoint (pos);
让我知道结果。
如果不行,我会考虑再试一次。
在您更改鼠标位置后更新圆角位置。
void FixedUpdate () {
Vector2 pos = Input.mousePosition;
pos = Camera.main.ScreenToWorldPoint (pos);
pos.x = Mathf.Round(pos.x);
pos.y = Mathf.Round(pos.y);
transform.position = pos;
}
我正在用 C# (unity) 制作马里奥制造商风格的游戏,其中所有内容都必须对齐网格。我想在拖动它的同时,让项目卡入最靠近每个 int 的位置。
void FixedUpdate () {
Vector2 pos = Input.mousePosition;
pos.x = Mathf.Round(pos.x);
pos.y = Mathf.Round(pos.y);
pos = Camera.main.ScreenToWorldPoint (pos);
transform.position = pos;
}
这对我不起作用,我已经尝试了几个小时来解决这个问题。到目前为止没有任何帮助,我浏览了我能找到的每个论坛都无济于事。请帮忙!!
我认为您应该在将像素位置更改为世界位置后对值进行舍入。 我是说,之后 pos = Camera.main.ScreenToWorldPoint (pos);
让我知道结果。 如果不行,我会考虑再试一次。
在您更改鼠标位置后更新圆角位置。
void FixedUpdate () {
Vector2 pos = Input.mousePosition;
pos = Camera.main.ScreenToWorldPoint (pos);
pos.x = Mathf.Round(pos.x);
pos.y = Mathf.Round(pos.y);
transform.position = pos;
}