unity 彩帶粒子_iOS動畫開發----粒子系統---彩帶效果

參考博文地址:http://my.oschina.net/u/2340880/blog/485095?fromerr=bgjLq4Mw

一、粒子發射器

iOS中的粒子效果有兩部分組成,一部分為發射器,設置例子發射的宏觀屬性,另一部分是粒子單元,用于設置相應的粒子屬性。粒子發射器是基于Layer層,他的全名叫做:CAEmitterLayer。其中常用的屬性如下:

@property(copy)?NSArray?*emitterCells;

粒子單元數組,例如你在繪制火焰的效果時,你可以創建兩個單元,一個單元負責煙霧,一個單元負責火苗。

@property?float?birthRate;

粒子的創建速率,默認為1/s。

@property?float?lifetime;

粒子的存活時間。默認為1S。

@property?CGPoint?emitterPosition;

發射器在xy平面的中心位置

@property?CGFloat?emitterZPosition;

發射器在Z平面的位置

@property?CGSize?emitterSize;

發射器的尺寸大小

@property?CGFloat?emitterDepth;

發射器的深度,在某些模式下會產生立體效果

@property(copy)?NSString?*emitterShape;

發射器的形狀,這個參數的幾個系統字符串如下:

@property(copy)?NSString?*emitterMode;

發射器的發射模式,參數如下:

@property(copy)?NSString?*renderMode;

發射器渲染模式,參數如下:

@property?BOOL?preservesDepth;

是否開啟三維空間效果

@property?float?velocity;

粒子的運動速度

@property?float?scale;

粒子的縮放大小

@property?float?spin;

粒子的旋轉位置

@property?unsigned?int?seed;

初始化隨機的粒子種子

二、粒子單元

設置好了粒子發射器,我們還需要初始化一些粒子單元,設置具體粒子的屬性,我們使用到的類是CAEmitterCell這個類。

+ (instancetype)emitterCell;

類方法創建發射單元

@property(copy)?NSString?*name;

設置發射單元的名稱

@property(getter=isEnabled)?BOOL?enabled;

是否允許發射器渲染

@property?float?birthRate;

粒子的創建速率

@property?float?lifetime;

粒子的生存時間

@property?float?lifetimeRange;

粒子的生存時間容差

@property?CGFloat?emissionLatitude;

粒子在Z軸方向的發射角度

@property?CGFloat?emissionLongitude;

粒子在xy平面的發射角度

@property?CGFloat?emissionRange;

粒子發射角度的容差

@property?CGFloat?velocity;

粒子的速度

@property?CGFloat?velocityRange;

粒子速度的容差

@property?CGFloat?xAcceleration;

@property?CGFloat?yAcceleration;

@property?CGFloat?zAcceleration;

x,y,z三個方向的加速度

@property?CGFloat?scale;

@property?CGFloat?scaleRange;

@property?CGFloat?scaleSpeed;

縮放大小,縮放容差和縮放速度

@property?CGFloat?spin;

@property?CGFloat?spinRange;

旋轉度與旋轉容差

@property?CGColorRef?color;

粒子的顏色

@property?float?redRange;

@property?float?greenRange;

@property?float?blueRange;

@property?float?alphaRange;

粒子在rgb三個色相上的容差和透明度的容差

@property?float?redSpeed;

@property?float?greenSpeed;

@property?float?blueSpeed;

@property?float?alphaSpeed;

粒子在RGB三個色相上的變化速度和透明度的變化速度

@property(strong)?id?contents;

渲染粒子,可以設置為一個CGImage的對象

@property?CGRect?contentsRect;

渲染的范圍

三、噴射彩帶的效果Demo

- (void)startAnimation

{//設置發射器

_streamerEmitter=[[CAEmitterLayer alloc]init];

_streamerEmitter.emitterPosition=CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height/2);

_streamerEmitter.emitterSize=CGSizeMake(self.view.frame.size.width-100, 20);

_streamerEmitter.renderMode=kCAEmitterLayerAdditive;

_streamerEmitter.preservesDepth=YES;//發射單元//彩帶

CAEmitterCell * smoke =[CAEmitterCell emitterCell];

smoke.birthRate=100;

smoke.lifetime=3.0;

smoke.lifetimeRange=1;

smoke.scale= 0.5;

smoke.scaleRange= 0.5;

smoke.color=[UIColor colorWithRed:0 green:1 blue:0 alpha:0.2].CGColor;

smoke.alphaRange= 1;

smoke.redRange=255;

smoke.blueRange= 22;

smoke.greenRange= 1.5;

smoke.contents=(id)[[UIImage imageNamed:@"彩花.png"]CGImage];

[smoke setName:@"smoke"];

smoke.velocity=200;

smoke.velocityRange=50;

smoke.emissionLongitude=M_PI+M_PI_2;

smoke.emissionRange=M_PI_2;

smoke.spin=M_PI_2;

smoke.spinRange=M_PI_2;

_streamerEmitter.emitterCells=[NSArray arrayWithObjects:smoke,nil];

[self.myView.layer addSublayer:_streamerEmitter];

}

Demo下載地址:?https://github.com/KrystalNa/streamDemo

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534496.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534496.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534496.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一秒執行一次_《一秒鐘》:一貫的粗曠式抓大放小,張藝謀的自命題作業總是要觀眾自己再做一遍...

還有不變的永遠在奔跑的大棉褲花棉襖的圓臉妮子,這是導演張藝謀最新作品《一秒鐘》的最直接觀感。張藝謀是個善于從普世情懷處挖掘題材的導演。之前諸多現實題材類型作品,諸如講父子和解的《千里走單騎》、夫妻愛情的《歸來》以及《我的父親母親》&#…

latex 作者加小標_Latex 寫期刊論文的小技巧

在不同文字處理系統(如 MiKTeX, TeX Live, CTeX, cwTex) 或 不同整合開發環境 ( 如Texstudio, WinEdt, TeXstudio, TeXmaker) 中,我用了 Miktex Texstudio 的常用組合 (win10環境中)。1: 先MiKTeX,后Texstudio ;2: 安裝包(packages);3&#…

unity 畸變_unity3d 幾種鏡頭畸變

1.Fisheye distortion 魚眼鏡頭解釋來自百度百科:魚眼鏡頭是一種焦距為16mm或更短的并且視角接近或等于180。 它是一種極端的廣角鏡頭,“魚眼鏡頭”是它的俗稱。為使鏡頭達到最大的攝影視角,這種攝影鏡頭的前鏡片直徑很短且呈拋物狀向鏡頭前…

restfull加簽_SpringBoot RestFull API簽名

一、需求如下對指定的API路徑進行簽名認證,對于沒有指定的無需認證,認證具體到方法。二、查閱資料與開發1.了解JWT,實際上用的開源jjwt2.編寫自定義注解3.編寫攔截器,主要是攔截特定的url進行簽名驗證,這里解析請求的h…

mysql 5.5.18下載_MySQL5.7.18下載和安裝過程圖文詳解

MySql下載1、打開官網找到下載路口,這里直接給出下載的地址2、選擇64位版本3、直接下載MySql5.7.18.1安裝過程1 、運行安裝軟件,接受協議2、選擇默認安裝3、下一步到檢查環境界面,點擊“Execute”執行檢查 (可以后面單獨下載插件安裝)&…

mysql找不到performance_Mysql安裝完畢運行時沒有mysql和performance_schema數據庫_MySQL

Mysql問題 ERROR 1045 (28000): Access denied for user ‘root’’localhost’ (using password: YES)Mysql安裝完畢運行時沒有 mysql 和 performance_schema 數據庫問題一:之前卸載未卸載干凈問題二:沒有管理員權限進入問題三:登錄時&#…

mysql latid1_mysql觸發器的實戰經驗

1 引言Mysql的觸發器和存儲過程一樣,都是嵌入到mysql的一段程序。觸發器是mysql5新增的功能,目前線上鳳巢系統、北斗系統以及哥倫布系統使用的數據庫均是mysql5.0.45版本,很多程序比如fc-star管理端,sfrd(das),dorad…

mysql數據庫sql注入原理_SQL注入原理解析以及舉例1

sql注入是指web應用程序對用戶輸入數據的合法性沒有判斷,導致攻擊者可以構造不同的sql語句來實現對數據庫的操作。sql注入漏洞產生滿足條件:1;用戶能夠控制數據的輸入。2;原本需要執行的代碼,拼接了用戶的輸入。舉例&a…

mysql存儲map數據結構_map數據結構

Go map實現原理 - 戀戀美食的個人空間 - OSCHINA - 中文開源技術交流社區 https://my.oschina.net/renhc/blog/2208417// A header for a Go map.type hmap struct {// Note: the format of the hmap is also encoded in cmd/compile/internal/gc/reflect.go.// Make sure this…

四因素三水平正交表_做論文要用正交表?我打包送給你

正交試驗目前在國內的應用量仍然是比較高的,許多高校畢業生喜歡利用正交試驗來獲取研究數據,最終完成畢業論文的撰寫或者期刊投稿。正交試驗方案的設計,必然要用到(標準)正交表。那么大家都是從哪里獲取正交表的呢?小兵給這方面的…

plsql視圖添加表字段_Oracle-單表多字段查詢(不使用*)

環境:Oracle 11g,plsql 14目的:不使用*,查詢擁有上百個字段的表的所有字段。懶人大法:在文章末尾。sql實現邏輯:1、首先建一張100個字段以上的表,通過excel的方式將表建好后直接復制粘貼到plsql的建表界面。…

mysql 編譯安裝與rpm安裝的區別_編譯安裝與RPM安裝的區別

建議在安裝線上的生產服務器軟件包時都用源碼安裝,這是因為源碼安裝可以自行調整編譯參數,最大化地定制安裝結果。這里以MySQL 5線上環境的編譯安裝來說明之,其編譯參數如下所示:./configure-prefix/usr/local/mysql -without-deb…

python字符串變量s的值是python網絡爬蟲_【Python爬蟲作業】-字符串

一、定義字符串變量1.請定義三個字符串a,b,c值分別為 I,like, python2.請將上面三個變量合并輸出I like pythonaIblikecpythonprint(a)print(b)print(c)print(a,b,c)二、定義一個變量 s sdghHhf 1.請先將變量s的空白符去掉 賦值給新變量s1 打印輸出2.請分別將s1變為全部大寫(命…

lableimg閃退_CV學習筆記(二十五):數據集標注與制作

最近在做一些數據標注的工作,雖然標注數據比較枯燥,但這也是每個做算法的工程師升級打怪的必由之路。使用一些合適的工具往往可以事半功倍,效率UP。一:數據標注流程二:數據處理的一些小代碼1:重命名當得到這…

mysql show profile詳解_SQL 性能分析利器 show profile

本文首發個人公眾號《andyqian》, 期待你的關注~前言在之前的文章中,我們提到過一些慢SQL優化的步驟。其中就包括:使用 explain 關鍵字來查看執行計劃,是否命中索引。通過計算某列的區分度,來判斷該列是否適合新建索引…

php判斷給定的整數是否是2的冪_C++_C語言判斷一個數是否是2的冪次方或4的冪次方,快速判斷一個數是否是2的冪次 - phpStudy...

C語言判斷一個數是否是2的冪次方或4的冪次方快速判斷一個數是否是2的冪次方,若是,并判斷出來是多少次方!將2的冪次方寫成二進制形式后,很容易就會發現有一個特點:二進制中只有一個1,并且1后面跟了n個0&…

python 包編譯安裝mysql_CentOS7編譯安裝MySQL8.0.23和Python3.1.9

卸載mariadbrpm -qa | grep mariadbmariadb-libs-5.5.64-1.el7.x86_64yum remove mariadb-libs.x86_64 -y安裝高版本GCC,解決編譯中會遇到的GCC 5.3 or newer is required (-dumpversion says 4.8.5)cd /optyum install centos-release-scl -yyum install devtoolse…

python3.0下載用什么瀏覽器_無法讓Python下載網頁源代碼:“不支持瀏覽器版本”...

查看您列出的url,我執行了以下操作:使用wget下載了頁面將urllib與ipython一起使用并下載了頁面使用chrome,只保存了url所有3個都給了我相同的結果文件(相同的大小,相同的內容)。在這可能是因為我沒有登錄,但我確實看到…

java線程堆棧_深入JVM剖析Java的線程堆棧

在這篇文章里我將教會你如何分析JVM的線程堆棧以及如何從堆棧信息中找出問題的根因。在我看來線程堆棧分析技術是Java EE產品支持工程師所必須掌握的一門技術。在線程堆棧中存儲的信息,通常遠超出你的想象,我們可以在工作中善加利用這些信息。我的目標是…

java 文件下載方法_【工具類】Java后臺上傳下載文件的幾種方式

/*** 將本地照片上傳至騰訊云服務上*/public void uploadImage(String localImagePath) throws Exception {// 1.將訂單照片上傳至騰訊地圖眾包側提供的云服務上try {File imageFile new File(localImagePath);if (imageFile.exists()) {String url "http://" map…