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);
}


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

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

时间: 2024-09-27 16:50:55

SnakeGo : Scaling Screen on Stage的相关文章

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.

SnakeGo : Scaling Screen and Moving Camera

敲了几晚SnakeGo, 原型出来了, 大家来看看不... 不错, 这货就是---贪吃蛇...哈哈...别急, 这还是原型, 好玩的在后面呢...(以我敲字速度, 大约再等不到六个月应该可以完成了...) 今天这里记录下使用LIBGDX过程中碰到的两个问题: 1. 调整屏幕比例; 2. 移动观察镜头; 一, 调整屏幕比例 LIBGDX是跨平台的, 一大好处就是直接在PC上测试, 那是非常的方便, 但这有两个问题需要考虑, 一, 手机是1280x768, 但我PC只有1280x1024的, 而且真

web架构链接汇总

WikiPedia 技术架构学习分享 YouTube 的架构扩展 Internet Archive 的海量存储浅析 LinkedIn 架构笔记 Tailrank 网站架构 Twitter 的架构扩展: 100 倍性能提升 财帮子(caibangzi.com)网站架构 Yupoo! 的网站技术架构 37Signals 架构 Flickr 的访问统计实现以及其他 PlentyOfFish 网站架构学习 Yahoo!社区架构 有关 Alexa 与 AOL 部署集群文件系统 eBay 的存储一瞥 eBa

分段播放的flash播放器

效果: 视频分段好处显而易见,就是节省流量,因为看视频很多时候都不会看完,还有很多时候是跳着看的.还有的时候也许用户暂停视频出去买东西了... 本文不讨论flash rtmp直播流,例子用的是普通的http流,视频7分钟一段,播放至当前视频的90%时开始加载下一段. 原理很简单,就是伪视频流和对播放时间的判断,还有一些小的细节. 关于视频伪流技术(pseudo streaming)可以参考flowplayer的这篇介绍http://flash.flowplayer.org/plugins/str

Erget 显示对象

核心显示类: 类 描述 DisplayObject 显示对象基类,所有显示对象均继承自此类 Bitmap 位图,用来显示图片 Shape 用来显示矢量图,可以使用其中的方法绘制矢量图形 TextField 文本类 BitmapText 位图文本类 DisplayObjectContainer 显示对象容器接口,所有显示对象容器均实现此接口 Sprite:DisplayObjectContainer 带有矢量绘制功能的显示容器 Stage:DisplayObjectContainer 舞台类 根节

图形渲染管线简介

The Graphics Rendering Pipeline 渲染管线,这章主要讲光栅化渲染管线. 毕业前实习时,也实现过一个简单的软光栅化渲染管线,再复习一下. 在计算机图形学领域,shading指基于表面相对灯光的角度.距灯光的距离.相对于相机的角度和材质的属性等来修改物体/表面/多边形的颜色,进而创造一个具有真实感效果的过程. In computer graphics, shading refers to the process of altering the color of an o

MySQL Horizontal Scaling

http://www.tuicool.com/articles/miuq63E http://www.guokr.com/blog/475765/ http://songwie.com/articlelist/44 https://www.youtube.com/watch?v=5yDO-tmIoXY single database => master / slave  => sharding ( at stage of master/slave, you might need to add

libgdx Screen 切换

我们一般在开发时,都会分成多个Screen去实现不同的功能,比如: MenuScreen用于菜单界面显示,GameScreen主游戏界面,HelpScreen游戏帮助界面. 直接使用game.setScreen就可以完成场景的切换.不过这样略显生硬,另外,在内存占用方面有可能出现瞬时内存占用太大的问题,可能导致游戏退出什么的. 跟cocos2dx的道理一样,一个ScreenOne在切换的ScreenTwo时,是这样一个过程: 1. ScreenOne在运行中,它已加载资源. 2. 实例化Scre

SOA: UBER工程代码架构的拓展和演变SERVICE-ORIENTED ARCHITECTURE: SCALING THE UBER ENGINEERING CODEBASE AS WE GROW

像很多初创型公司一样,Uber的架构一开始也是一整块的,或者说是整体的.不可分割的,服务端部署在一个城市,对外整体上是单个节点.这个也迎合了当时服务范围和功能选项有限的业务场景.可执行代码部署在单个节点,对于这种场景下,可以说是简洁.易管理的,而且直接上来说,满足了我们的业务需求:简单的连接司机和乘客,出账单,支付.在这种"小而美"的场景下,将Uber的这些简单的业务逻辑放在一起,也是很有道理.很有实际操作性.很有性价比的:).但是,当我们的业务迅速拓展到多个城市,并且产品也不再那么单