Dio*_*nha 10 javascript isometric phaser-framework
我是Phaser的新手,我现在很难在相位器等距插件的帮助下生成一个tilemap.我也很难理解与Phaser世界,游戏和相机相关的一些概念,这些概念使得更正确地生成tilemap的一部分.我实际上已经注意到这个问题似乎是Phaser新手的障碍,就像我自己一样,正确解释它肯定有助于对抗这一点.
谈到此事:
我使用单个草精灵使用for循环生成了一个tilemap .for循环工作正常,我还实现了一个函数,我可以指定我想要生成的tile数.
{
spawnBasicTiles: function(half_tile_width, half_tile_height, size_x, size_y) {
var tile;
for(var xx = 0; xx < size_x; xx += half_tile_width) {
for(var yy = 0; yy < size_y; yy += half_tile_height) {
tile = game.add.isoSprite(xx, yy, 0, 'tile', 0, tiles_group);
tile.checkWorldBounds = true;
tile.outOfBoundsKill = true;
tile.anchor.set(0.5, 0);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,生成静态草砖的过程不是问题.问题,以及我试图让对象池正常工作的原因之一是当磁贴数量超过80时,这对游戏性能产生了巨大影响.由于我的目标是制作巨大的自动生成地图,这些地图根据玩家角色位置进行渲染,因此对象池是必不可少的.我已经为这些图块创建了一个组,并添加了我认为将不需要渲染的图块(物理,世界边界......)所需的属性.然而,经过多次尝试,我得出结论,即使是超出界限的瓷砖仍然会产生.我还使用了另一个属性而不是add.isoSprite来生成tile,这是.create但没有区别.我想没有瓷砖被"杀死".
除此之外,我希望在世界中间生成我的角色,这是生成的草地图的中间.但是,我也很难做到这一点.我认为,为了实现这一目标,我应该使用以下概念,尽管不能:
总结: 使用以下用于生成切片的循环方法,如何在跟随我的角色的相机移动到另一个区域时生成无限/几乎无限的地图?除此之外,在我生成的草地图中间始终生成角色的正确方法是什么,以及相机从角色的起点开始?
我将非常感谢他们的帮助,并希望这对于处于类似情况的人来说可能是有价值的.对于任何额外的信息,只需询问,如果您想要按特定数字生成图块的功能,我很乐意发布.对不起任何语言错误.
非常感谢你.
编辑:
通过将X和Y设置为(大小/宽度)和(大小/高度),我能够始终在草中间生成我的角色.大小是px中X和Y的度量.