2013-06-24 55 views
0

我有这两个场景,一个菜单场景和一个主要的游戏场景。 主要的游戏场景有两个singelton层,它是我所有游戏内容的发展地点。切换场景冻结触摸

我使用replaceScene方法从游戏场景切换回菜单场景,但当切换回游戏场景时,控件或触摸被冻结。

这里是游戏主场景代码:

#import "BJPlayfieldScene.h" 


@implementation BJPlayfieldScene 


+(id)scene { 
return([ [ self alloc ] init ]); 
} 

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

    //Background Layer 
    [self addChild:[BackgroundLayer sharedBackground] z:0]; 

    //playfiled layer 

    [self addChild:[BJPlayfieldLayer sharedfieldlayer] z:5]; 

} 
return self; 
} 

@end 

,然后将代码切换回和第四:

[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0  scene:[IntroLayer scene]]]; 

[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene: 
              [BJPlayfieldScene scene ] ]]; 

任何想法?

多谢

+0

帧速率显示稳定在30.0左右,所以我怀疑触摸离开场景后禁用,因为self.touchEnabled = YES;在我的init方法中,它永远不会再被调用,因为它是一个singelton。我试图从外部启用它,但没有运气。或者问题可能在其他地方一起。 –

回答

1

如果您实施的OnEnter或*方法相似,你必须调用超级实现。不这样做会导致“输入丢失”。

+0

谢谢,我对此很陌生,在哪里可以找到onEnter方法,以及如何实现它。我已经看到了onEnter的某个地方,但不记得它是如何工作的.BYW我有你的书 –

+0

我已经添加了一个onEnter方法,并重新启用触摸它,也称为超级实现,但没有运气 –

+0

好吧,我移动了按钮和菜单创建代码从初始化到OnEnter,如果工作!!!!太好了,谢谢 –