我只想弄清楚这个,我有一个grid3d CCRipple3D动作/效果,它应该出现在哪里。除非它完成(1秒后),它会“暂停”效果并将其留在原位。我想要的只是一个波纹然后就消失了。这是我的代码:
for( UITouch *touch in touches ) {
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL: location];
id effect = [CCRipple3D actionWithPosition:location radius:180 waves:10 amplitude:20 grid:ccg(60, 60) duration:1];
[self runAction:effect];
}
但是这会在那个地方留下一层扭曲。我需要它涟漪1秒钟然后消失。
提前致谢!
答案 0 :(得分:1)
id effect = [CCRipple3D actionWithPosition:location radius:180 waves:10 amplitude:20 grid:ccg(60, 60) duration:1];
[someNode runAction:[CCSequence actions:effect,[CCStopGrid action], nil]];
如果是旧版本的cocos2d,请使用[StopGrid操作]而不是[CCStopGrid操作]。
很可能OP早就找到了答案。但仍然发布解决方案,以便任何人都能找到到达这里的答案(就像我一样)。
答案 1 :(得分:0)
我在使用cocos2d-js 3.0时也遇到了这个问题。感谢Mesbah的回答,我得到了这个:
var action = cc.shaky3D(3, cc.size(15, 10), 50, false);
gameBg.runAction( cc.sequence(action, cc.stopGrid()) );