javascript 精灵和装备精灵衣服在相位器

anauzrmj  于 2023-04-04  发布在  Java
关注(0)|答案(2)|浏览(128)

如何在Phaser中为精灵装备衣服?假设我使用以下命令:

我能想到的唯一方法就是用每个精灵做一个图像。一定有不同的方法,比如叠加或者别的什么?

n8ghc7c1

n8ghc7c11#

你应该检查这个项目:https://github.com/makrohn/Universal-LPC-spritesheet .
对于Phaser中的集成,请尝试类似这样的内容:

function preload() {
    game.load.spritesheet('female_body', 'sprites/body/female/light.png', 64, 64);
    game.load.spritesheet('female_hair', 'sprites/hair/female/pixie/blonde.png', 64, 64);
    game.load.spritesheet('female_torso', 'sprites/torso/tunics/female/teal_tunic.png', 64, 64);
    game.load.spritesheet('female_legs', 'sprites/legs/pants/female/teal_pants_female.png', 64, 64);
}

function create() {
    var group = game.add.group();
    group.add(game.add.sprite(200, 200, 'female_body', 13 * 9));
    group.add(game.add.sprite(200, 200, 'female_hair', 13 * 9));
    group.add(game.add.sprite(200, 200, 'female_torso', 13 * 9));
    group.add(game.add.sprite(200, 200, 'female_legs', 13 * 9));
    group.callAll('animations.add', 'animations', 'walk', Phaser.ArrayUtils.numberArrayStep(13 * 9, 13 * 9 + 9));
    group.callAll('animations.play', 'animations', 'walk', 9, true);
}
xxb16uws

xxb16uws2#

你可以使用Phaser.Sprite#addChild将布料精灵附加到你的玩家精灵上。

// Player sprite
var player = game.add.sprite(0, 0, 'player-sprite');

// Cloth sprite
var cloth = game.add.sprite(0, 0, 'cloth-sprite');

// Tweak anchor position to correctly align clothing over player 
cloth.anchor.setTo(0.5, 0.5);

player.addChild(cloth);

相关问题