我正在为我的一个大学模块制作一个简单的游戏。 当我用鼠标左键单击时,我需要一个拳击手套出现。
我遇到的问题是手套没有渲染,出现在层次结构中但没有显示在屏幕上,请参阅图片
图片1:
图片2:
我的代码如下:
public class script_CreateBoxingGlove : MonoBehaviour {
public GameObject BoxingGlove;
void Start () {
}
void Update () {
if (Input.GetMouseButtonDown (0)) {
var position = Input.mousePosition;
Instantiate (BoxingGlove, position, Quaternion.identity);
}
}
}
非常感谢任何帮助:)
答案 0 :(得分:1)
Input.mousePosition
是鼠标的位置,而不是世界坐标(记录为here)。
因此,在将其用作位置之前,必须将其转换为世界坐标。实例化语句应该是这样的
Vector2 position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Instantiate (BoxingGlove, position, Quaternion.identity);
这使用标记为" MainCamera"的层次结构中的摄像头。转换。因此,要使此代码正常工作,您必须确保在您的层次结构中标记了类似的相机。