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去?
posted on 2014-05-21 23:59 codejie 閱讀(1747) 評論(0) 編輯 收藏 引用 所屬分類: I;P