首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAEmitterCell不考虑持续时间值

CAEmitterCell不考虑持续时间值
EN

Stack Overflow用户
提问于 2013-04-14 07:41:29
回答 1查看 1.1K关注 0票数 1

我有一个发射器,我想在2秒后结束,但我不能让它停止运行!

我的代码如下:

代码语言:javascript
复制
// Emitter Layer
    //
    emitter = [CAEmitterLayer layer];
    emitter.emitterSize = CGSizeMake(20, 20);
    emitter.renderMode = @"additive";
    emitter.emitterMode = @"points";
    emitter.emitterShape = @"rectangle";
    emitter.emitterPosition = CGPointMake(310, 230);
    //emitter.duration = 2; // setting duration on the emitterLayer prevents anything from firing it seems

// Emitter Cells
    //

    // 'New Emitter' cell configuration
    newEmitter = [CAEmitterCell emitterCell];
    newEmitter.scaleSpeed = 7;
    newEmitter.lifetime = 2.481715;
    //newEmitter.duration = 2; // I would expect this to stop the emitter after 2 seconds, but it doesn't!
    newEmitter.velocity = 332.3636968085106;
    newEmitter.contents = newemitterImg;
    newEmitter.name = @"New Emitter";
newEmitter.scaleRange = 4.178236607142859;
    newEmitter.lifetimeRange = 1.6;
    newEmitter.greenRange = -2.775558e-17;
    newEmitter.birthRate = 40;
    newEmitter.emissionRange = -6.283185306666667;
    newEmitter.scale = 0;

    // Emitter Cell Chains
    //

    emitter.emitterCells = [NSArray arrayWithObjects:newEmitter, nil];

尽管作为iOS的一部分已经有大约两年了,但关于这方面的信息似乎很少!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-14 12:18:22

你可以用一个计时器和一个停止发射器产生新粒子的方法来做到这一点。

在现有代码的末尾添加:

代码语言:javascript
复制
    [newEmitter setName:@"newEmitter"];
    [NSTimer scheduledTimerWithTimeInterval:2.0
                                     target:self
                                   selector:@selector(stopEmitter:)
                                   userInfo:nil
                                    repeats:NO];

然后创建一个方法:stopEmitter…

代码语言:javascript
复制
    - (void) stopEmitter:(NSTimer*)timer
    {
        [emitter setValue:@0
               forKeyPath:@"emitterCells.newEmitter.birthRate"];
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15994133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档