gpt4 book ai didi

javascript - 如何在 Phaser 游戏中向每个用户显示不同的 map

转载 作者:行者123 更新时间:2023-12-03 05:56:14 25 4
gpt4 key购买 nike

我正在开发一个应用程序(平台),其中有 10 个用户(也许这会随着时间的推移而增加)。我创建了一个登录页面并使用平铺(移相器框架)创建了一张 map 。但现在这张 map 对于所有用户来说都是相同的,我想要的是为每个用户创建一个单独的 map ,并且在登录后将可见。请给我一些建议,以便至少我可以尝试。或者给我一些关于这个实现的想法。

以下代码用于瓦片 map 解析。

var game = new Phaser.Game(450, 300, Phaser.CANVAS, 'phaser', { preload: preload, create: create, update: update, render: render });

function preload() {
game.load.tilemap('map', '../tileMap/background.json', null, Phaser.Tilemap.TILED_JSON);
game.load.image('tile2', '../tileMap/floor2.png');
game.load.image('player','../tileMap/bot2.png');
}

var map;
var layer;

function create() {
map = game.add.tilemap('map');
map.addTilesetImage('floor2','tile2');
layer = map.createLayer('Tile Layer 1');
layer.resizeWorld();
}

最佳答案

问题是,如果每个人在登录后都被重定向到同一页面,那么所有用户都会看到位于“../tileMap/background.json”下的相同 map 。

解决方案是以某种方式将 map 与用户连接起来,例如您可以创建这样的数组:

var maps= {};
maps['bob'] = '../tileMap/backgroundBob.json';
maps['joe'] = '../tileMap/backgroundJoe.json';

然后你可以为tilemapPath创建全局变量(但肯定有更好的方法,也许在初始化移相器时使用cookie中的登录值),并在验证用户身份后执行以下操作:

tilemapPath = maps[login];

并加载瓦片 map :

game.load.tilemap('map',tilemapPath, null, Phaser.Tilemap.TILED_JSON);

希望对您有所帮助。

关于javascript - 如何在 Phaser 游戏中向每个用户显示不同的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39916919/

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