1) 刚开始认为是transfrom对应的object对象未实例化原因,因此尝试直接输入:Vector3 a = new Vector3(0.0f, 0.0f, 0.01f),这样操作可以直接排除是受transform object的影响。但是,并未解决异常,报相同错误。
2)也怀疑是Vector2 screen_xy未进行实例化原因,尝试:Vector2 screen_xy = new Vector2(0.0f, 0.01f)。但是,仍然未解决问题,报相同错误。
3)最后,锁定为Camera.main.WorldToScreenPoint()这个方法,存在未实例化对象问题。只能是Camera.main,通过该网址:https://csharp.hotexamples.com/examples/-/Camera/ScreenToWorldPoint/php-camera-screentoworldpoint-method-examples.html
如下图提示:
发现两点:第一,Camera是一个类,通过类名调用函数,但是程序中未申请有Camera类。第二,Camera.main默认的是初始化摄像头就是“Main Camera”,但是本Scene是初始化的“Camera”。
实例化一个Camera类对象mainCamera,并将其绑定到“Main Camera”上,在用mainCamera取代“Camera.main”,即可实现提取空间坐标系下对应的屏幕坐标。