这是我的代码:
using UnityEngine;
public class InputController : MonoBehaviour {
void Update() {
if (Input.GetMouseButtonUp(0)) {
var hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
if (hit.collider != null) {
var e = hit.collider.gameObject;
Debug.Log(e.transform.position.x + ":" + e.transform.position.y);
}
}
}
}
当我点击/触摸一个单元格时,有时击中是好的并且单元格被显示,有时击中总是假的(就像我触摸错误的单元格),有时它取决于我的点击位置(见图像)下文)。
我单击单元格的右侧部分,控制台说我单击右侧单元格(并显示它)。在这种情况下,它是左/右,但它可以是顶部/底部,一个角落......
我不知道我的问题是否得到了很好的解释,抱歉,我的英语并不完美...不要犹豫,向我提出更多细节!
答案 0 :(得分:0)
好的,我发现了问题。
左侧单元格的刻度为2,因此它与右侧单元格重叠。
答案 1 :(得分:0)
我猜这是对撞机重叠的问题。你必须重置所有对撞机并检查它,它是否重叠在任何物体上?
你可以在游戏模式上检查colider,打开" Gizmo"。所以你会看到所有对撞机并再次检查它是否重叠在那里?