Articles of tile

如何平铺多个程序生成的纹理?

我正在尝试为游戏开发一个程序化的瓦片生成器,主要用于地面的瓦片,而不是使用“手绘”瓦片。 为了达到这个目的,我使用了Perlin噪声和多个参数的正弦波,这已经给了我相当不错的结果。 我不想生成1个瓦片,并且为了一种地面types而永久地重复这个瓦片 ,但是我希望避免重现,所以我生成了n个不同的瓦片。 我现在遇到的问题是我想平铺生成的纹理(平滑过渡)。 目前我有这个: 4个256×256纹理。 我认为一个简单的方法是将不同的图块的位置添加到噪声生成algorithm中,以便在创建4个256×256纹理时,它的行为就像创建一个512×512的纹理,但是某种程度上不起作用如同意。 那么如何平铺这些纹理呢?

如何有效地呈现瓷砖地图?

我正在使用此代码加载由1000×1000 32×32像素组成的平铺地图: map = new TmxMapLoader().load("levels/xyz.tmx"); camera = new OrthographicCamera(); camera.setToOrtho(false, Constants.WORLD_WINDOW_SIZE.x / 32, Constants.WORLD_WINDOW_SIZE.y / 32); renderer = new OrthogonalTiledMapRenderer(map, 1 / 32f); renderer.getSpriteBatch().disableBlending(); renderer.setView(camera); 而这个渲染代码: camera.update(); renderer.setView(camera); renderer.render(); 但是,我有巨大的性能问题。 我怎样才能优化这个代码? 将分割地图在多个子地图帮助吗? 问候,TM3P

平铺 – 移动所有瓷砖

我正在拼贴地图。 我很快跑出了我的地图北部的房间,并希望“转移”下来的瓷砖。 我宁愿不必重做每个瓦片层。 这可能吗? 这是我的小地图的图片。 我想把它们移到红场周围。

如何使用caching来提高渲染性能?

首先,我将介绍用C ++编写的基于SDL的基于Tile的引擎的基本devise,然后指出我需要什么以及需要什么提示。 我的引擎的概念 我的引擎使用GameScreen的概念,它存储在主游戏类的堆栈中。 屏幕的主要方法通常是LoadContent , Render , Update和InitMultithreading 。 (我使用最后一个,因为我使用V8作为引擎的JavaScript桥梁。 主游戏循环然后呈现堆栈顶部的屏幕(如果有的话;否则,它会退出游戏) – 实际上它调用渲染方法,但将所有要呈现的项目存储在列表中。 收集完所有这些信息之后,像SDL_BlitSurface这样的方法被我的GameUIRenderer调用,该方法绘制入队的内容,然后绘制一些覆盖图。 代码如下所示: while(Game is running) { Handle input if(Screens on stack == 0) exit Update timer etc. Clear the screen Peek the screen on the stack and collect information on what to render Actually render the enqueue screen stuff and some […]