【发布时间】:2019-08-01 05:11:15
【问题描述】:
我正在尝试制作一个 2D 游戏,其中一个球在 Unity 中从相机边缘反弹。现在,如果我理解正确的话,Unity 更多的是,你制作和环境,然后对齐相机,而不是制作环境以适应相机,对吧?
我可以得到球的位置,然后看它是否大于某个值,然后施加一个力,这就是我正在做的,但是使用不同的设备,屏幕比例会发生变化,所以这不起作用.有没有办法检测它是否只是碰到相机/视图的边缘或我可以使用的某个百分比单位?在这个游戏中,摄像头随着球上下移动,所以只有左右两侧需要“有弹性”。
当我查看此内容时,有人建议使用设置在相机边缘的屏障。随着所有缩放和比例方面的变化,我认为检测边缘会更容易,无论是使用某种方法来获取以像素为单位的屏幕宽度,还是其他方式。
【问题讨论】:
-
您可以使用
Screen.width和Screen.height获取分辨率 -
@Savaria 这在任何脚本文件中(认为技术术语是类),就像您不必进入相机一样,它以像素为单位?
-
您可以使用IsVisibleFrom查看您的对象是否在相机中frustum。
-
@AliKanat,有趣,你知道它是在碰到边缘时触发还是完全熄灭?
-
文档在 Unity Scripting API (link) 是的,它以像素为单位,不,它是关于游戏的窗口,而不是特定的相机