我正在尝试调整游戏中的UI,使其适合iPhone X的屏幕。
在我的代码中,我尝试编写代码行return Screen.safeArea
然而' safeArea'突出显示为红色,当我用光标悬停在错误上时,会显示一条消息,说明"错误CS0117:' UnityEngine.Screen'不包含' safeArea'"。
的定义我不明白为什么我会收到此错误,因为根据Unity的文档,UnityEngine.Screen确实包含safeArea的定义。
我为何遇到此错误的任何倾向或想法?
此外,我正在使用Unity 2017.2.0f3
根据以下评论,代码被要求。
private Screen ReturnSafeArea(){return Screen.safeArea}
正如我试图说的那样,代码与它无关。即使在使用Screen.safeArea这个简单的实例中,safeArea也不是UnityEngine.Screen的定义。
将鼠标悬停在safeArea上会显示以下消息
"'屏幕'不包含' safeArea"
的定义
答案 0 :(得分:3)
我相信Screen.safeArea是在2017.2的次要版本中添加的,所以2017.2.0f3不会有它。请在2017.2.1及更新版本中尝试使用您的代码进行确认。文档没有详细说明,这太糟糕了。
答案 1 :(得分:2)
Screen.screenArea
的类型为Rect
,您的方法定义为返回Screen
类型的值
https://docs.unity3d.com/ScriptReference/Screen-safeArea.html
解决此问题的一种方法:
private Rect ReturnSafeArea(){
return Screen.safeArea;
}
此外,该字段已添加到2017.2.0p1 (Nov 6)中,您在2017.2.0f3 (Oct 3)上。链接是0.2,但0.f3没有自己的页面,所以可能是在同一天或很快之后。