KDbool Bomb::initWithWorld ( b2World* pWorld ) { CCSize tWinSize = CCDirector::sharedDirector ( )->getWinSize ( ); const KDchar* szFile = "bomb.png"; KDint nCount = 8; b2Vec2 aVertices [ ] = { b2Vec2 ( 43.f / PTM_RATIO, 54.f / PTM_RATIO ), b2Vec2 ( 23.f / PTM_RATIO, 54.f / PTM_RATIO ), b2Vec2 ( 12.f / PTM_RATIO, 41.f / PTM_RATIO ), b2Vec2 ( 12.f / PTM_RATIO, 20.f / PTM_RATIO ), b2Vec2 ( 23.f / PTM_RATIO, 10.f / PTM_RATIO ), b2Vec2 ( 44.f / PTM_RATIO, 10.f / PTM_RATIO ), b2Vec2 ( 53.f / PTM_RATIO, 18.f / PTM_RATIO ), b2Vec2 ( 53.f / PTM_RATIO, 40.f / PTM_RATIO ) }; b2Body* pBody = createBodyForWorld ( pWorld, b2Vec2 ( tWinSize.cx / 2 / PTM_RATIO, tWinSize.cy / 2 / PTM_RATIO ), 0, aVertices, nCount, 5.f, .2f, .2f ); if ( !PolygonSpriteEx::initWithFile ( szFile, pBody, KD_TRUE, PTM_RATIO ) ) { return KD_FALSE; } this->setType ( kTypeBomb ); this->setSplurt ( CCParticleSystemQuad::create ( "explosion.plist" ) ); this->getSplurt ( )->stopSystem ( ); return KD_TRUE; }
PolygonSprite* Watermelon::initWithWorld(b2World* world) { int count = 7; String* strFile = String::create("watermelon-ipadhd.png"); b2Vec2 vertices[] = { b2Vec2(235.0/PTM_RATIO,59.0/PTM_RATIO), b2Vec2(135.0/PTM_RATIO,235.0/PTM_RATIO), b2Vec2(116.0/PTM_RATIO,236.0/PTM_RATIO), b2Vec2(25.0/PTM_RATIO,64.0/PTM_RATIO), b2Vec2(63.0/PTM_RATIO,37.0/PTM_RATIO), b2Vec2(114.0/PTM_RATIO,24.0/PTM_RATIO), b2Vec2(179.0/PTM_RATIO,31.0/PTM_RATIO) }; Size screen = Director::getInstance()->getWinSize(); b2Body *body = createBodyForWorld(world, b2Vec2(screen.width/2/PTM_RATIO, screen.height/2/PTM_RATIO), 0, vertices, count, 5.0, 0.2, 0.2); if( initWithFile(strFile->getCString(), body, true) ) { // We will initialize more values for the fruit here later _type = kTypeWatermelon; } return this; }
KDbool Watermelon::initWithWorld ( b2World* pWorld ) { CCSize tWinSize = CCDirector::sharedDirector ( )->getWinSize ( ); const KDchar* szFile = "watermelon.png"; KDint nCount = 7; b2Vec2 aVertices [ ] = { b2Vec2 ( 5.f / PTM_RATIO, 15.f / PTM_RATIO ), b2Vec2 ( 18.f / PTM_RATIO, 7.f / PTM_RATIO ), b2Vec2 ( 32.f / PTM_RATIO, 5.f / PTM_RATIO ), b2Vec2 ( 48.f / PTM_RATIO, 7.f / PTM_RATIO ), b2Vec2 ( 60.f / PTM_RATIO, 14.f / PTM_RATIO ), b2Vec2 ( 34.f / PTM_RATIO, 59.f / PTM_RATIO ), b2Vec2 ( 28.f / PTM_RATIO, 59.f / PTM_RATIO ) }; b2Body* pBody = createBodyForWorld ( pWorld, b2Vec2 ( tWinSize.cx / 2 / PTM_RATIO, tWinSize.cy / 2 / PTM_RATIO ), 0, aVertices, nCount, 5.f, .2f, .2f ); if ( !PolygonSpriteEx::initWithFile ( szFile, pBody, KD_TRUE, PTM_RATIO ) ) { return KD_FALSE; } this->setType ( kTypeWatermelon ); this->setSplurt ( CCParticleSystemQuad::create ( "watermelon_splurt.plist" ) ); this->getSplurt ( )->stopSystem ( ); return KD_TRUE; }