问题标签 [caemitterlayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
146 浏览

ios - 粒子系统在 iOS 6 和 ios7 上看起来不同

我的应用程序上有几个粒子系统,最初是在带有 ios7 的 iPad 3 上检查的。这些粒子的外观和行为与我预期的一样,但是当我在带有 ios6 的 iPad2 上进行测试时。颗粒向上移位并且更小。我有一个粒子的子类。这是我的一个粒子系统的代码。如果 CGREctMake 将粒子定位在非视网膜显示器上的不同区域,我会徘徊,但是当我在显示器上放置其他东西时不会发生这种情况。

调用粒子的代码。

0 投票
0 回答
325 浏览

ios - 粒子发射器可以在一个应用程序中工作,但不能在另一个应用程序中工作

我在粒子效果方面遇到了一些困难。最初我发布了一个关于我的应用程序中的粒子效果在 ios6 设备上有何不同的问题。

粒子系统在 iOS 6 和 ios7 上看起来不同

我最初在 ios7 设备上设计了该应用程序,并得到了我想要的粒子,但在 ios6 设备上,粒子更小并且移位了。

有人告诉我这是 ios6 和 ios7 之间的问题,改变媒体时间可以解决它。

我已经尝试了一切,但没有任何效果。

最终,我尝试创建一个单独的应用程序并粘贴本教程中的代码 - http://weblog.invasivecode.com/post/45058779586/caemitterlayer-and-the-ios-particle-system-lets视图中确实加载了。粒子按应有的方式工作,但是当我将相同的代码放入当前的应用程序 viewDidLoad 时。粒子到处都是,没有做他们应该做的事。

如果我当前的应用程序中缺少某些东西,我会徘徊,那就是扰乱粒子。任何人都可以建议要寻找的东西吗?

最初,粒子效果被子类化并在向我的主视图添加子视图后被调用。

这是我的视图控制器 .h 代码(我取出了一些不相关的控制对象属性和插座)

这是我的 viewcontroller .m 中的代码,我在其中添加了教程中的代码。

这是我在 ios7 iPad 上运行的粒子效果之一,但在 ios6 iPad 上,效果看起来完全不同。

经过很长时间试图弄清楚为什么 ios7 和 ios6 看起来不同,我尝试将教程代码放入新应用程序中,然后将其放入我自己的应用程序中。在我的应用程序中,粒子完全不同,但它们应该在新应用程序中。

关于@matt 下面的评论。我知道我的应用程序一定有问题,但我看不到。我浏览了整个网络并浏览了我的代码,但我认为我遗漏了一些东西。

我想要的只是出现在特定位置的三个粒子效果,无论 iOS 版本如何。其中之一是用户触摸。下面的效果只是其中之一。我已经尝试过 CAmediaTiming 的东西,但没有奏效。

SteamEffect.h

steamEffect.m 看起来像这样。

我使用以下方法从我的 viewcontroller .m 中调用了上述内容。在上面的 viewDidLoad 中还有一个计时器,它每 5 秒调用一次。虽然这可能不是这样做的方法。可能更好地添加视图并开始它每 5 秒发射一次,而不是每次都添加一个新视图,但这是一个不同的问题。

0 投票
1 回答
429 浏览

ios - 在 CAEmitterLayer 中悬浮粒子

我有以下代码将粒子添加到其他一些中心的UIView命名:ParentViewUIView

一切正常,但现在我想暂停或暂停动画,所以粒子“冻结”。这可以做到吗?

0 投票
1 回答
262 浏览

ios - 将粒子视图移动到屏幕前面?

我目前有一个连接到情节提要的粒子视图。我面临的问题是在显示此视图的同时显示警报,并且警报始终显示在粒子视图的前面。有没有一种方法可以让我始终将粒子视图放在前面?我正在使用一个名为 SIAlertView 的第三方警报库,所以我假设它是可能的。

我已经记录了 alertView 的 zPosition 并且它始终为 0,所以我将粒子视图层的 zPosition 设置为 10,但它仍然显示在警报视图下方。

这是故事板层次结构:

在此处输入图像描述

0 投票
1 回答
1886 浏览

ios - 使用 Core Animation 淡出发射器单元

我正在使用 CAEmitterLayer 和 CAEmitterCell 实例创建粒子动画。动画没有问题,但我希望它们慢慢淡出。我正在使用下面的代码,但是粒子突然消失了,那里没有淡出动画。

此代码在五个不同的发射器单元的 for 循环中运行。

您发现此代码中有错误吗?

谢谢

0 投票
1 回答
174 浏览

cocoa - ScreenSaverView 与 CAEmitterLayer 在第二个屏幕上断断续续

任何想法为什么仅使用ScreenSaverView带有CAEmitterLayer子层的普通子类的屏幕保护程序会在主屏幕上呈现良好而在辅助屏幕上呈现断断续续(好像每 2. 帧在那里呈现......)......?

这是我的初始化代码:

这个子类中的其他所有内容都是默认的(由 Xcode 模板提供)。

有趣的是,backingStoreType听起来确实是ScreenSaverView使用 CoreAnimation 调整子类的好选择,可惜除了默认模式之外的所有其他模式都不能按照文档使用。

(由于动画由 Core Animation 提供支持,所以我输入什么并不重要setAnimationTimeInterval- 或者完全删除调用,如实验所示)

0 投票
0 回答
115 浏览

ios - CAEmitterCell 可以有基于矢量的内容吗?

我想为系统中的粒子使用 CALayers 或其他基于矢量的绘图。我需要在没有像素化的情况下放大。

我想做这样的事情

0 投票
1 回答
218 浏览

objective-c - 多个 CAEmitterLayer 源

我想从多个点生成不同的 CAEmitterCells。到目前为止,我的解决方案是创建多个 CAEmitterLayers,每个都有一个单元格,以便我可以单独控制它们。这种方法的问题是将图层渲染模式设置为 kCAEmitterLayerAdditive 仅在每个图层内有效,因此当从不同图层发射的粒子重叠时,它们不会混合,使得问题非常明显。

0 投票
1 回答
745 浏览

ios - 如何在 CAEmitterCell 的入口处设置动画?

目前,我的粒子以完整的形状和形式突然出现在屏幕上。我想要的是单元格从 0.0 不透明度开始并动画到完全不透明度,或者从 0.0 比例开始并动画到 1.0 比例。我在网上找不到任何有关如何执行此操作的信息。

0 投票
1 回答
667 浏览

ios - iOS - 使用 Swift 的 CAEmitterCell

我正在尝试为 iOS 应用程序创建粒子系统。该应用程序不使用 SpriteKit,所以我使用 CAEmitterLayer 和 CAEmitterCell 来完成它。在Objective-C中,我以这种方式初始化了CAEmitterCell:

但很快就没有这样的初始化程序。查看 Swift 文档,没有创建和初始化 CAEmmiterCell 的方法。

有什么方法可以在 Swift 中使用 CAEmitterCell 实现粒子系统?