gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:22:43 27 4
gpt4 key购买 nike

我正在使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com