我是libGDX的新手,我想做一个简单的图形界面,但由于缺乏图形编辑器,我很快就发现自己遇到了困难。最后,我在谷歌上找到了Overlap2D,我能够将它包含在我的项目中并运行它。然而,我对这个框架有两个问题:
1)是否被废弃?使用它是可取的,还是很快就会被放弃?
2)我创建了一个包含四个图像的简单屏幕:
如果我增加屏幕的大小,会发生的情况是,水滴不会根据前面的四个角进行定位,而是保持在原来的位置。
我会把我写的代码贴出来。我该怎么办?
非常感谢
package com.mygdx.game;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Camera;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.badlogic.gdx.utils.viewport.FillViewport;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.StretchViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
import com.uwsoft.editor.renderer.SceneLoader;
import com.uwsoft.editor.renderer.resources.ResourceManager;
public class MyGdxGame extends ApplicationAdapter {
private SceneLoader sceneLoader;
private ResourceManager rm;
private Viewport viewport;
private Camera camera;
@Override
public void create () {
rm = new ResourceManager();
rm.initAllResources();
camera = new OrthographicCamera();
viewport = new ExtendViewport(480 , 800, camera);
viewport.apply();
sceneLoader = new SceneLoader(rm);
sceneLoader.loadScene("MainScene", viewport);
}
@Override
public void render () {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
sceneLoader.getEngine().update(Gdx.graphics.getDeltaTime());
}
@Override
public void resize(int width, int height) {
viewport.update(width, height);
}}
发布于 2019-05-03 18:50:18
1)它被抛弃了吗?使用它是可取的,还是很快就会被放弃?
如果你正在制作一个基于磁贴的游戏,我真的建议你使用磁贴:https://www.mapeditor.org/
overlap2D的进一步开发似乎已经停止,但这不应该成为不使用它的理由。如果你正在制作一个包含不同大小和角度的平台的游戏,可以使用它。
2)我创建了一个包含四个图像的简单屏幕:
您正在使用ExtendViewport。该视口通过在一个方向上扩展世界来保持世界的纵横比。在您的第二张图像中,您可以清楚地看到世界向右延伸。我认为你想要的是使用FitViewport,这将始终保持虚拟屏幕大小的纵横比,同时尽可能地缩放它以适应整个屏幕。
https://stackoverflow.com/questions/55903598
复制相似问题