在我的LibGdx游戏中,我使用一个ExtendedViewport
new ExtendViewport(LevelSmash.WIDTH, LevelSmash.HEIGHT, camera);
我把宽度设为708,高度设为900,
在我的渲染方法中,我将spritebatch缩放到视口的投影
@Override
public void render(SpriteBatch sb) {
sb.setProjectionMatrix(vp.getCamera().projection);
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
sb.begin();
level.render(sb);
sb.end();
stage.act();
stage.draw();
}
该级别的渲染方法是
@Override
public void render(SpriteBatch sb) {
sb.setProjectionMatrix(vp.getCamera().projection);
sb.draw(background, 0 / LevelSmash.PPM, 0 / LevelSmash.PPM);
player.draw(sb);
}
PPM等于100
我希望背景占据整个屏幕,因为它的宽度和高度都是我缩放到的(708900)
但看起来是这样的
看起来您的相机以0,0
为中心,纹理从0,0
到708900
开始绘制。最好将相机的中心设置为图像的中心。
camera.position.set(LevelSmash.WIDTH / 2, LevelSmash.HEIGHT / 2);
camera.update();
编辑
我觉得奇怪的是,竟然有人在画圆圈。
sb.draw(background, 0 / LevelSmash.PPM, 0 / LevelSmash.PPM);
// 0 / X == 0 so width and height are always 0;
你能解释一下吗?因为很难相信你看到有任何东西被这条线画出来。
如若引入扩展整型,到时将有一整套的规则说明应该如何进行整型扩展(及其精度)。 // 译注: 作稿之时,扩展整型尚未确定是否纳入C++11 参见: [06-0058==N1988] J. Stephen Adamczyk: Adding extended integer types to C++ (Revision 1) . (翻译:lianggang jiang)
我目前正在一个小型集群(3个节点,32个CPU和128 GB Ram)上使用线性回归(Spark ML)中的基准测试来评估Spark 2.1.0。我只测量了参数计算的时间(不包括启动、数据加载、……)并识别了以下行为。对于小的数据集,0.1MIO-3MIO数据点,测量的时间并没有真正增加,停留在大约40秒。只有对于较大的数据集,如300个Mio数据点,处理时间才会达到200秒。因此,集群似乎根本无
SDK对外开放了一个可自定义的协议NtalkerChatDelegate,如果客户想进行自定义实现接口,必须遵守此协议,初始化小能类的时候设置其delagate为实现代理接口方法的类,然后实现相应的接口。其中提供了以下几个接口: 深度自定义控件接口,详细调用细节,请参照demo。 一、自定义消息发送 二、查询历史咨询列表 三、设置超媒体自定义参数 四、+号功能区的扩展功能 五、商品条自定义 六、设
一、发送文本消息到聊窗内 二、返回按钮的点击监听 三、结束会话按钮的点击监听 四、超媒体点击事件的监听 五、+号功能区的扩展功能 六、商品条自定义 七、导航栏自定义
QueyList是完全模块化的设计,拥有强大的可扩展性。 使用bind()方法绑定一个功能函数到QueryList对象,实现轻量级的功能扩展。bind()方法的第一个参数是绑定的函数名,第二个参数是一个匿名的功能函数,这个功能函数的$this对象指向的是当前的QueryList实例对象,所以在这个功能函数中可以直接通过$this来调用QueryList的方法。 例子 注册一个自定义的http网络操
自定义引擎各个阶段 可以在测试脚本中或者基类中重写 ActsTestBase 提供的 API。 重写 prepare,execute,check,clear 等。可以通过在 super.prepare() 之前或者之后进行某些操作。 重写 process 方法,在 super.process() 之前或之后进行操作。可将整个脚本重新编排,例如在现有的清理 -> 准备 -> 执行 -> 校验流程中增