30秒后如何划线和删除?

时间:2015-01-20 14:30:43

标签: ios objective-c cocos2d-iphone

我希望,在游戏结束时(在用户犯错误的Cocos-2D中)从角落到另一个角落绘制X(两条交叉线)。在那之后,当30秒过去时,我想删除这两行。

这是我用来绘制线条的代码:

ccDrawColor4F(1.0f, 0.0f, 0.0f, 1.0f);
ccDrawLine(ccp(0,0), ccp(x, y));
ccDrawLine(ccp(0,y), ccp(x, 0));

如何在30秒后删除这些行?

2 个答案:

答案 0 :(得分:2)

假设您使用的是版本3.x ......您可以:

// figure out maxX and maxY before getting here;
CCDrawNode *dn = [CCDrawNode node];
[dn drawSegmentFrom:ccp(0,0) to:ccp(maxX,maxY) radius:10 color:[CCColor blueColor]];
[dn drawSegmentFrom:ccp(0,maxY) to:ccp(maxX,0) radius:10 color:[CCColor blueColor]];
[self addChild:dn];
id stall = [CCActionDelay actionWithDuration:30];
id clean = [CCActionCallBlock actionWithBlock:^{
    [dn removeFromParentAndCleanup:YES];
}];
id seq = [CCActionSequence actions:stall,clean,nil];
[dn runAction:seq];

ob cit:一般的想法,从内存编码,未经过测试,未编译,但为您提供了一个起点。

答案 1 :(得分:1)

您可以将这些线条绘制到CCNode的子类,并在30秒后自动删除此对象。