在Phaser框架中平铺地图冲突

时间:2014-11-20 09:33:31

标签: javascript html5 game-engine phaser-framework

我正在使用Phaser 2.1.3。我用Tiled 0.9.1创建了一个平铺地图 只有一个defualt图层和一个图块集图像(4个colr图块32x32)。 enter image description here

我想让橙色瓷砖坚固,玩家无法通过这种瓷砖。

但是在我的游戏中,玩家无法通过橙色瓷砖挡住舞台上的红色瓷砖。我不是为什么红色瓷砖块是固体的。

这是我的一些代码,完整代码在这里: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用箭头键移动玩家(糖果)。

是一个移植错误还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

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

"在给定图层中的所有图块上设置碰撞,除了给定图层中的ID 。 '碰撞'参数控制是否启用碰撞(true)或禁用(false)。"

(强调我的)

如果您只想要橙色图块,请使用map.setCollision