CCOrbitCamera * CCOrbitCamera::create(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX) { CCOrbitCamera * pRet = new CCOrbitCamera(); if(pRet->initWithDuration(t, radius, deltaRadius, angleZ, deltaAngleZ, angleX, deltaAngleX)) { CC_SAFE_AUTORELEASE(pRet); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
// // CCOrbitCamera // CCOrbitCamera * CCOrbitCamera::actionWithDuration(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX) { CCOrbitCamera * pRet = new CCOrbitCamera(); if(pRet->initWithDuration(t, radius, deltaRadius, angleZ, deltaAngleZ, angleX, deltaAngleX)) { pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
CCObject * CCOrbitCamera::copyWithZone(CCZone *pZone) { CCZone* pNewZone = NULL; CCOrbitCamera* pRet = NULL; if(pZone && pZone->m_pCopyObject) //in case of being called at sub class pRet = (CCOrbitCamera*)(pZone->m_pCopyObject); else { pRet = new CCOrbitCamera(); pZone = pNewZone = new CCZone(pRet); } CCActionInterval::copyWithZone(pZone); pRet->initWithDuration(m_fDuration, m_fRadius, m_fDeltaRadius, m_fAngleZ, m_fDeltaAngleZ, m_fAngleX, m_fDeltaAngleX); CC_SAFE_DELETE(pNewZone); return pRet; }