[英]Tilemap collides with player and moves as one solid object (Phaser 3)
我有一個從數組生成的瓷磚地圖,(我不能使用瓷磚,游戲將按程序生成)我需要與玩家碰撞,而不是玩家與牆層碰撞,當玩家走出相機邊界和 tilemap 並返回,他們將 tilemap 推離屏幕。 我的 tilemap 代碼在這里,經過簡化。 我猜我需要能夠添加空白圖塊,但我不確定如何添加。
var room = [
[1, 2, 2, 3],
[4, 0, 0, 8],
[4, 0, 0, 8],
[5, 6, 6, 7],];
this.map = this.make.tilemap({ data: room, tileWidth: 64, tileHeight: 64 });
var tiles = this.map.addTilesetImage("wall");
var layer = this.map.createLayer('wallLayer', tiles, 0, 0)
layer.setCollisionBetween(1, 8, true, true, layer)
this.physics.add.existing(layer)
this.physics.add.collider(layer, this.player)
任何幫助都會很棒,謝謝!
問題是,您正在使用代碼行將layer
添加到physics
世界
this.physics.add.existing(layer);
在文件
camp.js
第 126 行
這不需要! 由於這兩行代碼,
layer.setCollisionBetween(1, 16, true, false, layer); //(line 125)
this.physics.add.collider(layer, this.player); //(line 127)
在文件
camp.js
設置player
和layer
之間的碰撞。 無需其他操作即可實現碰撞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.