我正在创建一个格斗游戏。我有一个英雄的精灵表和一个怪物的精灵表。由于两者都可以进行多次攻击,因此我想避免将它们合并到一个 spritesheet 中。我打算创造更多的角色。
现在我为每个 spritesheet 创建一个 SpriteBatchNode 并将它们添加到图层。
CCLayer* stage = CCLayer::create();
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("character_hero.plist");
this->characterHeroBatchNode = CCSpriteBatchNode::create("character_hero.pvr.ccz");
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("character_monster.plist");
this->characterMonsterBatchNode = CCSpriteBatchNode::create("character_monster.pvr.ccz");
stage->addChild(characterHeroBatchNode);
stage->addChild(characterMonsterBatchNode);
现在我有一个 sprite incharacterHeroBatchNode
和多个 in characterMonsterBatchNode
。
如何根据 PositionY 属性对怪物和英雄 z-Order 重新排序。
例如>
monster1->setPositionY(10); // In monster batch node
hero->setPositionY(24); // In hero batch node
monster2->setPositionY(43); // In monster batch node
我想要英雄背后的怪物1。还有monster2背后的英雄。