我有3个瓷砖,我试图渲染他们的瓷砖地图。到目前为止我的代码:公开无效
render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
game.batch.begin();
int w;
w = 120;
int h;
h = 1080/16;
int tileX = 0;
int tileY = 0;
Texture currentTile = null;
for(int i=0; i<w; i++){
for(int j=0; j<h; j++){
switch(MathUtils.random(2)){
case 0:
currentTile = grass;
tiles.add(grass);
break;
case 1:
currentTile = stone;
break;
case 2:
currentTile = dirt;
break;
}
game.batch.draw(currentTile, i*120, j*120);
}
}问题是,除了瓷砖之外,它还能表现得很好--我想,因为它们不断地被重新装饰。但是如何停止这是使用2d数组的唯一方法,如果是的话,请演示如何:
呈现数组,在这种格式下,我将放置什么而不是currentTile?:
game.batch.draw(currentTile, i*120, j*120);设置数组,它应该是什么样子?
Texture[] tiles = new Texture[1];如何向数组添加tiles并正确构造,任何其他细节都将是有用的。
发布于 2014-08-29 11:33:07
根据我的经验,当画布上的区域对它们没有吸引力时,就会出现闪烁的屏幕。在开始绘制瓷砖之前,创建/填充一些填充屏幕的颜色(黑色、蓝色等)。从这里画你的BG项目,瓷砖,播放器/实体,等等。
发布于 2014-08-29 11:58:19
在每一次游戏中,您都要为瓷砖设置一个新的随机纹理,这意味着在1秒内,一个瓷砖每秒可以改变60次(Fps)。
为了解决这个问题,它依赖于瓷砖是否能够改变。
-if not,在构造函数中预定义它们
-if它们可以更改、设置一个定时事件和/或操作来触发它。
https://stackoverflow.com/questions/25567309
复制相似问题