我已经成功构建并运行Unity 2D游戏,但是在我的一项操作中开始收到蓝屏消息。具体来说,当我关闭弹出窗口并删除其所有子游戏对象时,整个游戏屏幕会变成深蓝色(主摄影机的默认背景色)。如果您在右侧区域中单击,则游戏的音乐仍会播放,并且点击仍会被记录(我仍然可以按“后退”按钮,只是看不到它)。
如果我删除1个游戏对象,则不会出现此问题。但是一旦我必须删除2个游戏对象,整个屏幕就会变成蓝色。
这是我在可能的情况下删除游戏对象的功能,当正确地正确删除gameObjects(要删除的游戏对象是从预制件创建的)时,该功能非常有效。我认为问题可能出在相机上,因为某些原因,但是我不知道为什么它会在此功能上发生。
public void Remove(int index)
{
float toggleWidth = toggle.GetComponent<RectTransform>().sizeDelta.x;
DestroyImmediate(scrollSnap.pagination.transform.GetChild(scrollSnap.NumberOfPanels - 1).gameObject);
scrollSnap.Remove(index);
scrollSnap.pagination.transform.position += new Vector3(toggleWidth / 2f, 0, 0);
}
我在控制台中没有收到任何错误或警告。一旦删除了多个GameObject,便只是一个蓝屏
编辑:
原来我的主Canvas的 planeDistance 从100更改为3200。我仍然不知道为什么会发生这种变化...但是对于其他遇到类似深蓝色问题的人屏幕出现在他们的游戏的中间或开始,然后请在检查器中检查画布和相机的值。只需控制planeDistance就可以解决问题!
答案 0 :(得分:1)
当我开始我的精灵学习游戏时,在示例场景旁边制作了一个新场景。忘了这一切。 当我不得不发布它时,在构建设置中,我选择了错误的场景。所以它发布了一个空场景 =D 而不是我的游戏 =D
答案 1 :(得分:0)
我通过将游戏置于3d模式解决了这一问题,并意识到相机的位置离精灵很远,只需更改z轴,然后再次进入2d模式...希望对您有所帮助。