Unity 2D 中 StartChange 方法无法执行 OnMouseLeftClick 事件的解决方法
"Unity 2D 中,internal void StartChange(Vector3Int position)\n\t{ Debug.Log("来自开始建造的输出1" + inputManager1.OnMouseLeftClick.GetInvocationList()[0].Method.Name);\n\t\t//change1.transform.position = inputManager1.GetMousePosition();\n\t\tinputManager1.OnMouseLeftClick += FinishChange;\n\t\tDebug.Log("来自开始建造的输出2" + inputManager1.OnMouseLeftClick.GetInvocationList()[0].Method.Name);\n\n为何代码没有执行 inputManager1.OnMouseLeftClick += FinishChange;
\n可能有几个原因导致代码没有执行 inputManager1.OnMouseLeftClick += FinishChange: \n\n1. inputManager1.OnMouseLeftClick 可能没有被正确地定义或初始化。请确保 OnMouseLeftClick 是一个正确的事件,并且已经被正确地实例化。\n2. FinishChange 方法可能没有被正确地定义或实现。请确保 FinishChange 方法已经被正确地定义,并且在 StartChange 方法之后能够被调用。\n3. 在 inputManager1.OnMouseLeftClick += FinishChange 之前已经存在其他的委托方法。请检查 inputManager1.OnMouseLeftClick 是否已经包含其他的委托方法,如果有,可以尝试使用 inputManager1.OnMouseLeftClick = FinishChange 来替换原有的委托方法。\n4. StartChange 方法可能没有被正确地调用。请确保 StartChange 方法被正确地调用,并且在调用之后 inputManager1.OnMouseLeftClick += FinishChange 能够被执行。\n\n请检查以上几个可能的问题,并确保代码中没有其他的逻辑错误或遗漏。
原文地址: https://www.cveoy.top/t/topic/pPNE 著作权归作者所有。请勿转载和采集!