如何使用物质物理从 Phaser 3 中的瓷砖平台创建平台?
How to create platforms from my tile platforms in Phaser 3 using matter physics?
我正在使用 Tiled 在 Phaser 3 中创建我的关卡。我有我的关卡,平台加载正常,但是,我的播放器直接通过它们。如何将物质体添加到我已加载的 所有 平台?
我的平台代码:
//Create tilemap
const map = this.make.tilemap({key: 'map'});
//Create tileset
const tileset = map.addTilesetImage('Assets_City', 'tiles');
const platforms = map.createStaticLayer('Ground', tileset, 0, 200);
在行const platforms = map.createDynamicLayer('Ground', tileset, 0, 0);
之后,添加以下行:
platforms.setCollisionBetween(1, 50);
供您参考:
//Create tilemap
const map = this.make.tilemap({key: 'map'});
//Create tileset
const tileset = map.addTilesetImage('Assets_City', 'tiles');
const platforms = map.createDynamicLayer('Ground', tileset, 0, 0);
platforms.setCollisionBetween(1, 50);
编辑:
OP 无法使用我的原始解决方案实现 运行,因为他错误地删除了这些行:
platforms.setCollisionByProperty({ collides: true});
this.matter.world.convertTilemapLayer(platforms);
我正在使用 Tiled 在 Phaser 3 中创建我的关卡。我有我的关卡,平台加载正常,但是,我的播放器直接通过它们。如何将物质体添加到我已加载的 所有 平台?
我的平台代码:
//Create tilemap
const map = this.make.tilemap({key: 'map'});
//Create tileset
const tileset = map.addTilesetImage('Assets_City', 'tiles');
const platforms = map.createStaticLayer('Ground', tileset, 0, 200);
在行const platforms = map.createDynamicLayer('Ground', tileset, 0, 0);
之后,添加以下行:
platforms.setCollisionBetween(1, 50);
供您参考:
//Create tilemap
const map = this.make.tilemap({key: 'map'});
//Create tileset
const tileset = map.addTilesetImage('Assets_City', 'tiles');
const platforms = map.createDynamicLayer('Ground', tileset, 0, 0);
platforms.setCollisionBetween(1, 50);
编辑:
OP 无法使用我的原始解决方案实现 运行,因为他错误地删除了这些行:
platforms.setCollisionByProperty({ collides: true});
this.matter.world.convertTilemapLayer(platforms);