我是libGDX的新手,我想创建一个简单的图形界面,由于缺少图形编辑器,我很快发现自己陷入了困境。最后,我在Google上找到了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);
}
}
答案 0 :(得分:0)
1)它被遗弃了吗?建议使用它还是将很快废弃它?
如果您要制作基于图块的游戏,我真的建议您使用图块: https://www.mapeditor.org/
似乎overlay2D的进一步开发已经停止,但这不应该是不使用它的原因。如果您要制作包含不同大小和角度的平台的游戏,则可以使用它。
2)我创建了一个包含四个图像的简单屏幕:
您正在使用ExtendViewport。该视口通过沿一个方向提升世界来保持世界长宽比。在第二张图片中,您可以清楚地看到世界向右扩展。我认为您想要使用FitViewport,它将始终保持虚拟屏幕尺寸的长宽比,同时尽可能地缩放它以适合整个屏幕。