Javascript 相位器可拖动分组世界地图

Javascript 相位器可拖动分组世界地图,javascript,jquery,html,phaser-framework,Javascript,Jquery,Html,Phaser Framework,我发现了这本关于使用惯性创建可拖动贴图的精彩教程: 本教程仅对图像应用了拖动效果。我尝试将拖动效果应用到一组精灵上,使它们同时拖动(贴图图像+精灵组) 我遇到的问题是,我对this.scrollingMap代表的语法有点困惑。所以当涉及到用一组来替换这一行时,我有点不知所措 this.scrollingMap = game.add.image(0, 0, "map"); 有人有什么想法吗 如果有帮助的话,我也复制了下面的简化代码 var game=new Phaser.game(window

我发现了这本关于使用惯性创建可拖动贴图的精彩教程:

本教程仅对图像应用了拖动效果。我尝试将拖动效果应用到一组精灵上,使它们同时拖动(贴图图像+精灵组)

我遇到的问题是,我对this.scrollingMap代表的语法有点困惑。所以当涉及到用一组来替换这一行时,我有点不知所措

this.scrollingMap = game.add.image(0, 0, "map");
有人有什么想法吗

如果有帮助的话,我也复制了下面的简化代码

var game=new Phaser.game(window.innerWidth,window.innerHeight,Phaser.AUTO,,{preload:preload,create:create,update:update});
函数预加载(){
game.load.image('map','assets/images/baseMap.png');
game.load.image('star','assets/images/star.png');
}
函数create(){
//创建组
world=game.add.group();
创建(0,0,'map');
//向其中添加随机精灵
对于(变量i=0;i<10;i++)
{world.create(game.world.randomX,game.world.randomY,'star');}
//这个小组独立工作。
//我想把它链接到“scrollingMap”下面的拖动动画。
//教程中的可拖动地图
//添加要滚动的大地图

this.scrollingMap=game.add.image(0,0,“map”);//因此,我最终找到了解决方案

首先,我删除了所有这个.scrollingMap,并将它们改为scrollingMap以消除任何混乱。最后仍然工作得很好

scrollingMap = game.add.image(0, 0, "map");
scrollingMap.anchor.set(0.05,0.5);
scrollingMap.inputEnabled = true;
[etc...]
接下来,Phaser中的似乎无法让输入一起作用于元素,一次只作用于一个元素。因此,更改为类似的方式将不起作用:

scrollingMap = game.add.group();
map = game.add.image(0, 0, "map");
scrollingMap.add(map); 
// The following line won't work
scrollingMap.inputEnabled = true;
我尝试使用Phaser提供的Align功能…直到我最终意识到,实际上可以在其他精灵中嵌套精灵,如下所示:

scrollingMap = game.add.image(0, 0, "map");
someSprite = game.add.image(100, 100, "sprite");
scrollingMap.addChild(someSprite);
瞧!解决办法就这么简单

请注意,您还可以将组添加为子组:

someGroup = game.add.group(); 
scrollingMap.addChild(someGroup);
如果有人好奇,可以在这里找到解决方案: