Esempio n. 1
0
void PhysicsBody::onRemove()
{
    CCASSERT(_owner != nullptr, "_owner can't be nullptr");

    removeFromPhysicsWorld();

    _owner->_physicsBody = nullptr;
}
Esempio n. 2
0
void PhysicsBody::onExit()
{
    removeFromPhysicsWorld();
}
void PhysicsBody::onRemove()
{
    removeFromPhysicsWorld();
}
Esempio n. 4
0
void PhysicsBody::removeFromWorld()
{
    removeFromPhysicsWorld();
}
Esempio n. 5
0
void LevelTwo::createFlames(float dt)
{
	for (int i = 0; i < 9; i++)
	{
		
		auto spritecache = SpriteFrameCache::getInstance();
		spritecache->addSpriteFramesWithFile("GameScreen/fireList.plist");
		cocos2d::SpriteFrame* spriteFrame = spritecache->getSpriteFrameByName("fire1.png");
		cocos2d::Vector<cocos2d::Sprite *> m_aiSprites;
		cocos2d::Vector<cocos2d::SpriteFrame*> m_animFrames;

		for (int j = 1; j < 27; j++)
		{
			// Get a SpriteFrame using a name from the spritesheet .plist file.
			m_animFrames.pushBack(spritecache->getSpriteFrameByName("fire" + std::to_string(j) + ".png"));
		}
		// Create the animation out of the frames.
		Animation* animation = Animation::createWithSpriteFrames(m_animFrames, 0.065);
		Animate* animate = Animate::create(animation);
		// Create a sprite using any one of the SpriteFrames
		// This is so we get a sprite of the correct dimensions.
		auto sprite = Sprite::createWithSpriteFrame(m_animFrames.at(0));
		// Run and repeat the animation.
		sprite->setScale(2.0f);
		sprite->runAction(animate);
		auto fireBody = PhysicsBody::createBox(sprite->getContentSize(), PhysicsMaterial(0, 0, 0));

		if (i == 0)
		{
			sprite->setPosition(Vec2(600, 420));
			sprite->setTag(21);
			//fireBody->setCollisionBitmask(0x000101);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 1)
		{
			sprite->setPosition(Vec2(770, 420));
			sprite->setTag(22);
			//fireBody->setCollisionBitmask(0x000201);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 2)
		{
			sprite->setPosition(Vec2(940, 420));
			sprite->setTag(23);
			//fireBody->setCollisionBitmask(0x000301);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 3)
		{
			sprite->setPosition(Vec2(600, -20));
			sprite->setTag(23);
			//fireBody->setCollisionBitmask(0x000301);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 4)
		{
			sprite->setPosition(Vec2(940, -20));
			sprite->setTag(23);
			//fireBody->setCollisionBitmask(0x000301);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 5)
		{
			sprite->setPosition(Vec2(100, 260));
			sprite->setTag(23);
			//fireBody->setCollisionBitmask(0x000301);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 6)
		{
			sprite->setPosition(Vec2(130, 130));
			sprite->setTag(23);
			//fireBody->setCollisionBitmask(0x000301);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 7)
		{
			sprite->setPosition(Vec2(100, -20));
			sprite->setTag(23);
			//fireBody->setCollisionBitmask(0x000301);
			//sprite->setPhysicsBody(fireBody);
		}
		else if (i == 8)
		{
			sprite->setPosition(Vec2(200, -20));
			sprite->setTag(23);
			//fireBody->setCollisionBitmask(0x000301);
			//sprite->setPhysicsBody(fireBody);
		}
		this->addChild(sprite, 10);
		m_aiSprites.pushBack(sprite);

		if (dt == 5)
		{
			sprite->removeFromPhysicsWorld();
		}
		for (int i = 0; i < m_aiSprites.size(); i++)
		{
			if (player->boundingBox().intersectsRect(sprite->boundingBox()))
			{
				playerOneDead = true;
			}
			if (player2->boundingBox().intersectsRect(sprite->boundingBox()))
			{
				playerTwoDead = true;
			}
		}
		
		//m_aiSprites.clear();
	}
}