我正在使用Phaser 2.1.3。我用Tiled 0.9.1创建了一个平铺地图 只有一个defualt图层和一个图块集图像(4个colr图块32x32)。
我想让橙色瓷砖坚固,玩家无法通过这种瓷砖。
但是在我的游戏中,玩家无法通过橙色瓷砖挡住舞台上的红色瓷砖。我不是为什么红色瓷砖块是固体的。
这是我的一些代码,完整代码在这里: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用箭头键移动玩家(糖果)。
是一个移植错误还是我错过了什么?
答案 0 :(得分:1)
您正在使用map.setCollisionByExclusion
。来自文档:
"在给定图层中的所有图块上设置碰撞,除了给定图层中的ID 。 '碰撞'参数控制是否启用碰撞(true)或禁用(false)。"
(强调我的)
如果您只想要橙色图块,请使用map.setCollision
。