格闘ゲームを作っています。ヒーロー用のスプライトシートとモンスター用のスプライトシートがあります。両方とも複数の攻撃を行うことができるため、それらを 1 つのスプライトシートにマージすることは避けたいと思います。そして、より多くのキャラクターを作成するつもりです。
今、各スプライトシートの 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);
これで、 に 1 つのスプライトcharacterHeroBatchNode
と に複数のスプライトができましたcharacterMonsterBatchNode
。
PositionY 属性に基づいて、モンスターとヒーローの z オーダーを並べ替えるにはどうすればよいですか。
例えば>
monster1->setPositionY(10); // In monster batch node
hero->setPositionY(24); // In hero batch node
monster2->setPositionY(43); // In monster batch node
主人公の後ろにモンスター1が欲しい。そしてモンスター2の主人公。