{........
extern UIActivityIndicatorView *activetyview;//小菊花其实是个场景
activetyview = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activetyview.center = ccp(265 , 250);//原坐标为左上角
[[[CCDirector sharedDirector] openGLView] addSubview:activetyview];
[activetyview startAnimating];//小菊花开始旋转
[self scheduleOnce:@selector(replace) delay:0.0f];
........}
-(void)replace{
[[CCDirector sharedDirector] replaceScene:[GameLayer scene]];
}
让小菊花加载上之后不能立马写场景转换的代码,如果这样的话你运行工程会发现小菊花没有出现,但是场景转换完之后小菊花出现了,所以要用scheduleOnce延时0s执行场景转换的代码就好了!
还有看到第一行代码我用了extern,引用了外部变量,没错,小菊花要定义成外部变量,因为你加载的小菊花是一个view,不属于某一个场景,不是说加载到此场景上,当此场景被转换的时候小菊花也消失,不是!小菊花始终还在,所以要在第二个场景的初始化init方法中加入一下代码:
extern UIActivityIndicatorView *activetyview;
[activetyview stopAnimating];//让小菊花消失!