2011-10-11 31 views
0

我想做一个简单的游戏,我目前正在尝试做一个箭头射出。 到目前为止,我有两个功能,只为精灵的运动做ccTime函数的最佳方法?

-(void)ccTouchesBegan

润色开始做一些数学,并得到从箭头和指压的初始拍摄点的矢量,然后将数据传递到另一个功能:

-(void)shatArrow:(CGPoint)cl:(CGPoint)nv{ 

}

我想要的是让shatArrow函数调用一个ccTime函数,该函数仅用于使箭头移动,并且一旦箭头完成了它的投影ccTime函数将停止,并且可以在需要时再次调用。

我该怎么办?

回答

2

计划更新选择(即在你的类的init方法):

[self scheduleUpdate]; 

然后实现更新方法:

-(void) update:(ccTime)delta 
{ 
    if (isArrowMoving) 
    { 
    // arrow move code here 

    if (arrow movement should end) 
    { 
     isArrowMoving = NO; 
    } 
    } 
} 

你可以保持更新方法的运行,除非你有数百个箭头不会影响性能。

-(void) shootArrow:(CGPoint)cl:(CGPoint)nv 
{ 
    isArrowMoving = YES; 
    // other arrow movement init code here 
} 

顺便说一句,这是“拍,拍,拍”,而不是“拍,拍,虱”或类似的东西。 (我想你没有要求一个#LinguisticsOverflow答案);)

+0

谢谢一吨:) – Gabe