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

SnakeGo : Scaling Screen on Stage II

 

    昨晚把BaseScreen就敲好了, 也找到了屏幕放缩的最优和最简方式. 不多说, 看代码:

	public BaseScreen(final SnakeGo game) {
		super(new ScalingViewport(Scaling.fit, CommonConsts.Screen.WIDTH, CommonConsts.Screen.HEIGHT, new OrthographicCamera()), new SpriteBatch());		

		this.game = game;
		
		Gdx.input.setInputProcessor(this);
	}

    BaseScreen直接继承与Stage是个好方法, 很方便使用Stage所提供的各种渲染/输入相关的函数, 但这样如果考虑MVC风格的话, M和C似乎就不该在Screen存在, 但却又没地方放置...当然这样可能有些死脑筋了. (我在Snake对象中分离了M和C).

    在构造函数中, 使用Scaling的fit方式来初始Stage, 可以保证屏幕‘居中放缩‘, 并在resize()时, 更新尺寸即可.

	@Override
	public void resize(int width, int height) {
		this.getViewport().update(width, height, true);
	}

    这方法有些简单的让人不敢相信...

 

<---- LIBGDX小众的分割线 ---->

    这两天留意些Game相关的招聘信息, 发现Libgdx真是小众啊, 一个都没有, 难道真的像朋友说的 -- "也就你自己玩玩吧...".  LIBGDX相对比较‘潜‘, 用起来虽说有些‘复杂‘, 但对于研究个‘架构‘什么的, 真的很不错的....唉, 难道我也转向cocos2d-x去?