Codejie's C++ Space

Using C++

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类..

posted on 2014-05-19 23:11 codejie 阅读(1540) 评论(0)  编辑 收藏 引用 所属分类: I;P


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜