簡體   English   中英

Tilemap 與玩家碰撞並作為一個實體移動 object(Phaser 3)

[英]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

設置playerlayer之間的碰撞。 無需其他操作即可實現碰撞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM