这篇文章与想要学习如何在LIBGDX和Box2D之间正确呈现的早期帖子有关.在我继续之前,我必须了解视口.
经过大量的代码/后期阅读,我觉得"视口"的意思是"镜头的矩形开口,可以看到LIBGDX的游戏世界,我可以在世界各地移动它来查看我想要的东西".但是,经过更多的阅读,我似乎远远没有实际意义.
我已经阅读了LIBGDX wiki,并阅读了OpenGL文档,它似乎将视口解释为两个不同的东西.
LIBGDX维基:
"视口是投影3D场景的屏幕的矩形视图区域.它只不过是将三维对象映射到二维平面."
OpenGL的:
"视口指示场景映射到的可用屏幕区域的形状."
堆栈溢出:
"......它在不同的背景下有几个定义......":'(
我已经尝试过阅读数十篇论坛帖子和教程.但是,不幸的是,几乎每个人都跳进去,好像"视口"是一个每个人都理解和知道的原始概念.
我知道,对于这个完全基本的问题,我会得到很多热量.请不要火焰,我问,因为我实际上不知道,实际上需要帮助.
无论如何,进入实际问题.
LIBGDX上下文中的"viewport"是什么?
我曾经使用枚举作为C中的索引.(每个枚举类似于int值的别名)示例:
typedef enum {DOG, CAT, MOUSE} ANIMALS;
int[3] age;
...
age[DOG] = 4;
age[CAT] = 3;
age[MOUSE] = 10;
Run Code Online (Sandbox Code Playgroud)
使用枚举作为索引,我总是可以确定我正在更新正确的单元格.此外,我还需要简单的数组.
我想在Java中做同样的事情.但是,我似乎无法找到一个简单的替代品.有没有人知道可以像在Array中使用Array + enum combo一样使用的替换?
我在处理来自多个使用keyDown/keyUp的独立InputAdapter的输入时遇到问题.
Gdx.input.setInputProcessor( new InputMultiplexer( keyboardController1, keyboardController2, keyboardController3));
只有第一个在线,而其他没有; 在这种情况下keyboardController1.我猜它与方法return true;的末尾有关keyDown().我尝试阅读文档,教程,发布...等但是,我仍然无法很好地掌握返回值的含义和做法,也不能确定应该将其设置为哪个布尔值.我的问题:keyDown/keyUp的布尔返回值是什么意思(等等)?
我在网上查看了大多数在gogdx中使用Json的googable教程,看起来非常简单.但是,由于某种原因,json.toJson()继续返回一个双细胞数组,第一个包含{和第二个包含}.我的代码非常简单:
public class GameConfig {
public int screenWidth;
public int screenHeight;
public GameConfig() {
screenWidth = 800;
screenHeight = 600;
}
}
Run Code Online (Sandbox Code Playgroud)
然后
String configAsText = json.toJson(zzz);//configAsText.value equals [0] = { and [1] = }
String configAsText = json.toJson(config, GameConfig.class);//nor this one
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?