首页 > 代码库 > SnakeGo : Scaling Screen on Stage

SnakeGo : Scaling Screen on Stage

 

   刚才使用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);
	}

  45

 

    Stage内置的Camera和Viewport把‘原点‘放在左下角, 而不是常使用的‘居中‘, 另外这个还有个问题, 当屏幕缩放时, Viewport也不是一般习惯‘居中‘显示, 也是是靠左下. 我简单查看了下相应的Viewport类, 没有发现如何设置这个偏移量. 只是SnakeGo‘竖屏‘模式在N4上正好‘铺满‘, 这个问题再说吧. 如果需要, 能预估最麻烦的就是重载ScalingViewport类了.

    代码中, 后面注释掉的两句是用于等比例放缩图形的, 还没认真算过, 似乎不需要也可以的, 需要再看看Viewport类..