刚才使用LIBGDX的Stage时, 发现1.0.1跟0.99的一个变更 -- Stage内置Camera和Viewport(好用的ScalingViewport类). 如此这样, 那放缩屏幕更方便了...
@Override public void resize(int width, int height) { Vector2 size = Scaling.fit.apply(CommonConsts.Screen.WIDTH, CommonConsts.Screen.HEIGHT, width, height); this.getViewport().update((int)size.x, (int)size.y, true);
// Vector2 screenScaling = new Vector2((size.x / CommonConsts.Screen.WIDTH), (size.y / CommonConsts.Screen.HEIGHT)); // this.getRoot().setScale(screenScaling.x, screenScaling.y); }
Stage内置的Camera和Viewport把‘原点‘放在左下角, 而不是常使用的‘居中‘, 另外这个还有个问题, 当屏幕缩放时, Viewport也不是一般习惯‘居中‘显示, 也是是靠左下. 我简单查看了下相应的Viewport类, 没有发现如何设置这个偏移量. 只是SnakeGo‘竖屏‘模式在N4上正好‘铺满‘, 这个问题再说吧. 如果需要, 能预估最麻烦的就是重载ScalingViewport类了.
代码中, 后面注释掉的两句是用于等比例放缩图形的, 还没认真算过, 似乎不需要也可以的, 需要再看看Viewport类..
SnakeGo : Scaling Screen on Stage,布布扣,bubuko.com
SnakeGo : Scaling Screen on Stage
原文:http://www.cnblogs.com/codejie/p/3737927.html