Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在特定时间开始C操作_Iphone_Ios_Ipad_Cocos2d Iphone - Fatal编程技术网

Iphone 在特定时间开始C操作

Iphone 在特定时间开始C操作,iphone,ios,ipad,cocos2d-iphone,Iphone,Ios,Ipad,Cocos2d Iphone,我想在特定的时间开始无限的行动。我尝试使用CCSequence,但它只支持有限时间动画 有什么想法吗 致以最良好的祝愿, 第最后两行是您需要的 CCMoveBy* move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)]; CCCallFuncO* shot = [CCCallFuncO actionWithTarget:self selector:@selector(shoot:) object:enemy]; CCSequence*

我想在特定的时间开始无限的行动。我尝试使用CCSequence,但它只支持有限时间动画

有什么想法吗

致以最良好的祝愿,

最后两行是您需要的

CCMoveBy* move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)];
CCCallFuncO* shot = [CCCallFuncO actionWithTarget:self selector:@selector(shoot:) object:enemy];
CCSequence* sequ = [CCSequence actions:move,shot,nil];
CCRepeatForever* repeat = [CCRepeatForever actionWithAction:sequ];
[sprite runAction:repeat]; //sprite here

将要重复的操作放在方法内部。然后将其放入init方法中

[[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod) forTarget:self interval:10 paused:NO];
这将在10秒后调用myMethod,但是一旦进入myMethod,您就需要取消它的计划。所以我的方法应该是这样的

- (void) myMethod
{
    [[CCScheduler sharedScheduler] unscheduleSelector:@selector(myMethod) forTarget:self];
    CCMoveBy *move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)];
    CCRepeatForever *repeat = [CCRepeatForever actionWithAction:move];
    [mySprite runAction:repeat];
}

那是行不通的。让我试着举个例子。假设只有两个动作。1.延迟动作(用于在我想要给出的场景中开始延迟)2。跳转动作(我想在延迟时间结束后重复)。如果我采用你的方法,那么延迟也会重复。:)我们需要考虑另一个解决方案。@Gabe无限循环将冻结game@parasmendiratta我的建议是,不要使用动作,只需更新ccTime函数中的x和y坐标即可。