【问题标题】:How to add particle system to ios app without black background如何在没有黑色背景的情况下将粒子系统添加到ios应用程序
【发布时间】:2013-12-28 19:05:13
【问题描述】:

我添加了以下 CAEmitterLayer 和这些参数,我已经减少了这些参数,但仍然没有得到想要的效果。我想有更少的雪花,让它们慢慢飘下来,但是太多了,而且它们下落得太快,尽管我减少了出生率和速度/y加速度的参数。

代码如下:

-(id)initWithFrame:(CGRect)aRect{

    if ((self = [super initWithFrame:aRect])) {

        //set ref to the layer
        fireEmitter = (CAEmitterLayer*)self.layer; //2
        //configure the emitter layer
        fireEmitter.emitterPosition = CGPointMake(self.bounds.size.width / 4, - 10); // 2
        fireEmitter.emitterZPosition = 10; // 3
        fireEmitter.emitterSize = CGSizeMake(self.bounds.size.width, 0); // 4
        fireEmitter.emitterShape = kCAEmitterLayerSphere; // 5

        CAEmitterCell* fire = [CAEmitterCell emitterCell];
        fire.scale = 0.1;
        fire.scaleRange = 0.2;
        fire.emissionRange = (CGFloat)M_PI_2;
        fire.birthRate = 2;
        fire.lifetime = 5.0;
        fire.velocity = 30;
        fire.velocityRange = 50;
        fire.yAcceleration = 50;

        fire.contents = (id)[[UIImage imageNamed:@"snow.png"] CGImage];
        [fire setName:@"fire"];

        fireEmitter.emitterCells = [NSArray arrayWithObject:fire];
        [self setIsEmitting:YES];

    }
    return self;

}

结果如下:

【问题讨论】:

    标签: ios7 sprite-kit


    【解决方案1】:

    Sprite Kit 视图不能透明。但是 Sprite Kit 并不是在 iOS 中获得粒子效果的唯一方法。查看 CAEmitterLayer——它更适合与 UIKit 混合。

    【讨论】:

    • 好的,我正在使用这个 tut (raywenderlich.com/6063/uikit-particle-systems-in-ios-5-tutorial),我们在其中创建了一个带有 + (Class) layerClass 方法的 UIView,以返回一个 CAEmitterLayer。我在这里配置发射器,然后我们被告知在现有视图控制器中创建一个插座并将其连接到此类的视图。如果我使用故事板,我是否只是以编程方式添加该视图?
    • 谢谢,我更新了我的代码和一张图片,我希望雪花少一点,让它们慢慢飘下来,但是尽管我减少了出生率和速度/y加速度。
    【解决方案2】:

    这个怎么样?制作一个透明的 background.png 以在...上显示粒子效果或将黑色背景设置为透明的 alpha 等; 0.1 示例;

    background.alpha = 0.1;
    

    希望你能解决。

    【讨论】:

      【解决方案3】:

      我意识到这已经很晚了,但它可能会对某人有所帮助。

      我相信这可能会奏效,这会让它们慢慢褪色。

      fire.alphaSpeed = -0.15
      

      我会取消 yacceleration,因为它会让你的出生率看起来更高。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 2016-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多