//deadMonster设置,就是将地图里名字为bodyresource的obj层里的数据读出来,放入BodyResource这个vector里 //当有monster死亡以后,也根据需求将其放入Bodyresource的vector里。 void TollgateMapLayer::recvRefreshMonsterDeadBody(Ref* pData){ Monster* deadMonster = (Monster*)pData; deadMonster->convertToNodeSpace(this->getPosition()); Point deadMonsterPosition = deadMonster->getPosition(); Sprite* monsterSprite1 = Sprite::create("card_3.png"); Point deadMonsterTilemapPos = this->tileCoordForPosition(deadMonsterPosition); auto size = monsterSprite1->getContentSize(); Monster* monsterSprite = Monster::create(); monsterSprite->bindSprite(monsterSprite1); monsterSprite->m_isDead = true; auto physicsBody = PhysicsBody::createBox(size); physicsBody->setDynamic(true); physicsBody->setCategoryBitmask(MONSTERBODY_CATEGORY_BITMASK); physicsBody->setCollisionBitmask(MONSTERBODY_COLLISION_BITMASK); physicsBody->setContactTestBitmask(MONSTERBODY_CONTACTTEST_BITMASK); physicsBody->setGravityEnable(false); //curBullet->getSprite()->setRotation(rotateDegrees); //deadMonster->setTag(MONSTERBODYTAG); //deadMonster->setPhysicsBody(physicsBody); monsterSprite->setTag(MONSTERBODYTAG); monsterSprite->setPhysicsBody(physicsBody); // deadMonster->setPosition(deadMonsterPosition); // this->addChild(deadMonster); monsterSprite->setPosition(deadMonsterPosition); this->addChild(monsterSprite); int deadMonsterValue = 3 * deadMonster->getiLevel(); }