cocos2d中晃动手机切换scene(有切换特效),有时崩溃,求解

时间:2021-08-29 19:04:40

cocos2d中晃动手机切换scene(有切换特效),有时崩溃,求解

如题,两个scene互相切换,晃动手机我用的是

-( id ) init{  if  (( self  = [ super   init ])) {

         //blablabla

[[ UIAccelerometer sharedAccelerometer setUpdateInterval : 1 / 60 ];
[[ UIAccelerometer sharedAccelerometer setDelegate : self ]; }}

- ( void )accelerometer:( UIAccelerometer  *)accelerometer didAccelerate:( UIAcceleration  *)acceleration {
    
static   NSInteger  shakeCount =  0 ;
static   NSDate  *shakeStart;

NSDate  *now = [[ NSDate   alloc init ];
NSDate  *checkDate = [[ NSDate   alloc initWithTimeInterval : 1.5f   sinceDate :shakeStart];

if  ([now  compare :checkDate] ==  NSOrderedDescending  || shakeStart ==  nil ){
shakeCount =  0 ;
[shakeStart  release ];
shakeStart = [[ NSDate   alloc init ];}

[now  release ];
[checkDate  release ];

if  ( fabsf (acceleration. x ) >  2.0  ||  fabsf (acceleration. y ) >  2.0  ||  fabsf (acceleration. z ) >  2.0 ){
shakeCount++;
if  (shakeCount >  2 ) {

CCTransitionFade * newScene = [ CCTransitionFade transitionWithDuration : 2 scene :[ FirstScene scene withColor : ccBLACK ]; 
            [[ CCDirector   sharedDirector replaceScene :newScene];

 shakeCount =  0 ;
[shakeStart  release ];
shakeStart = [[ NSDate   alloc init ];}}}

有时可以切换成功,有时候就崩溃