javascript - Phaser 框架中的平铺 map 碰撞

标签 javascript html game-engine phaser-framework

我正在使用 Phaser 2.1.3。我用 Tiled 0.9.1 创建了一个平铺 map 只有一层默认图层和一张图 block 集图像(4 色图 block 32x32)。 enter image description here

我想让橙色瓷砖变成实心,玩家无法穿过这种瓷砖。

但在我的游戏中,玩家无法穿过舞台上的橙色方 block 和红色方 block 。我不明白为什么红色瓷砖 block 是实心的。

这是我的一些代码,完整代码在这里:https://github.com/q...sets/js/game.js

var map = this.add.tilemap('map1');
map.addTilesetImage('tileset');
map.setCollisionByExclusion([1]); // set orange tile solid
this.layer1 = map.createLayer('Tile Layer 1');
this.layer1.resizeWorld();
map.setTileIndexCallback(4, this.reachedDoorEvent, this); // when player reached black block, reachedDoorEvent function will invoke.

您可以在这里测试:http://qichunren.github.io/game1/index.html通过箭头键移动玩家(糖果)。

是移相器错误还是我遗漏了什么?

最佳答案

您正在使用map.setCollisionByExclusion。来自文档:

“在给定图层中的所有图 block 上设置碰撞,给定数组中的 ID 除外。‘collides’参数控制是否启用 (true) 或禁用 (false) 碰撞)。”

(强调我的)

如果您只想要橙色图 block 实体,您应该使用map.setCollision

关于javascript - Phaser 框架中的平铺 map 碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036081/

相关文章:

c++ - 使用 std::vector 和类对象时出错

javascript - Expo AV : 'if' video has finished, 返回开始

javascript - 使用 JQuery 选择第二个前一个元素

html - bootstrap 3 按钮的动态宽度保持在 col-md-* 中,按钮上有长标签

html - 向下滚动时背景图像需要 "stretch"而不是保持静止?

html - 如何使一个简单的 HTML 表格看起来像 "Handsontable"

javascript - 从函数返回 2 个值 - java

javascript - Div 在一个带有 appendchild 的新 div 中

python - 游戏引擎 3D 到 Python3.x?

javascript - 一旦箭与目标相撞,我该如何让箭停下来?