【发布时间】:2016-04-05 22:24:04
【问题描述】:
似乎视口没用,但我可能遗漏了一些东西。
例如,我想制作一个游戏,其中我有一个对象,如果我击中屏幕的左端或右端,我就会死!因此,如果我使用 Gdx.graphis.getWidth() 和 0 一切都会正常工作。
好的,但是让我们设置视口 = new ExtendViewport(500, 800, camera); 酷我没有 500 和 800 的虚拟像素 === > 5 : 8 然后我输入点击结束屏幕的逻辑,所以 if object.x 800 ----> object DIES!
但是现在我在分辨率为 1500 x 2000 ===> 3 : 4 的平板电脑上开始游戏,现在一切都错了,整个屏幕向左移动,所以 0 仍然有效但 800 无效屏幕右边缘的末端。
然后我去使用 FitViewport 并且左右边缘的碰撞现在被移动了,因为不同的纵横比。
似乎我可以使用 strechViewport,或者只是手动编码这些东西......但我知道我遗漏了一些东西,因为它必须有它的用途。
不胜感激!
【问题讨论】:
-
从你想做的事情来看,你认为为你的视口设置一个最大限制会帮助你吗?查看 api libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/…,这可能会帮助您限制视口的大小
-
设置最大值?我什至无法达到最大值...虽然现在我的游戏有所不同...我对 PlayState 进行编程,您使用 Gdx.graphics.getWidth 和 getHeight() 以老式方式玩游戏的方式,从菜单到其他所有内容我用 ViewPorts 做的选项和东西,这似乎是唯一的解决方案