日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Cocos2d-x内置粒子系统

發布時間:2025/3/14 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cocos2d-x内置粒子系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內置粒子系統

內置的11粒子系統說明如下:?

  • ParticleExplosion:爆炸粒子效果,屬于半徑模式。

  • ParticleFire:火焰粒子效果,屬于重力徑模式。

  • ParticleFireworks:煙花粒子效果,屬于重力模式。

  • ParticleFlower:花粒子效果,屬于重力模式。

  • ParticleGalaxy:星系粒子效果,屬于半徑模式。

  • ParticleMeteor:流星粒子效果,屬于重力模式。

  • ParticleSpiral:漩渦粒子效果,屬于半徑模式。

  • ParticleSnow:雪粒子效果,屬于重力模式。

  • ParticleSmoke:煙粒子效果,屬于重力模式。

  • ParticleSun:太陽粒子效果,屬于重力模式。

  • ParticleRain:雨粒子效果,屬于重力模式。

?

這11種粒子系統每一個都有如下兩個create函數,通過create函數可以創建粒子對象。

?

粒子系統

簡介

粒子系統是指計算機圖形學中模擬特定現象的技術,它在模仿自然現象、物理現象及空間扭曲上具備得天獨厚的優勢,為我們實現一些真實自然而又帶有隨機性的特效(如爆炸、煙花、水流)提供了方便。Cocos2d-x引擎中就為我們提供了強大的粒子系統,以下是粒子系統的繼承關系圖:

粒子屬性

一個強大的粒子系統它必然具備了多種多樣的屬性,這樣才能配置出多樣的粒子。下面就來看看粒子系統的主要屬性吧。

主要屬性:

  • _duration 發射器生存時間,即它可以發射粒子的時間,注意這個時間和粒子生存時間不同。單位秒,-1表示永遠;粒子發射結束后可點擊工具欄的播放按鈕再次發射
  • _emissionRate 每秒噴發的粒子數目
  • _emitterMode 噴發器模式,有重力模式(GRAVITY)和半徑模式(RADIUS,也叫放射模式)兩種
  • _totalParticles 場景中存在的最大粒子數目,往往與_emissionRate配合起來使用
  • _isAutoRemoveOnFinish 粒子結束時是否自動刪除

重力模式(modeA):

顧名思義,重力模式模擬重力,可讓粒子圍繞一個中心點移近或移遠,它的優點是非常動態,而且移動有規則。下列各屬性只在重力模式下起作用。

  • gravity 重力X
  • radiaAccel 粒子徑向加速度,即平行于重力方向的加速度
  • radiaAccelVar 粒子徑向加速度變化范圍
  • speed 速度
  • speedVar 速度變化范圍
  • tangentialAccel 粒子切向加速度,即垂直于重力方向的加速度
  • tangentialAccelVar 粒子切向加速度變化范圍

半徑模式(modeB):

半徑模式可以使粒子以圓圈方式旋轉,它也可以創造螺旋效果讓粒子急速前進或后退。下列各屬性只在半徑模式下起作用。

  • endRadius 結束半徑
  • endRadiusVar 結束半徑變化范圍,即結束半徑值的范圍在 (endRadius - endRadiusVar) 和 (endRadius + endRadiusVar )之間,下面類似。
  • rotatePerSecond 粒子每秒圍繞起始點的旋轉角度
  • rotatePerSecondVar 粒子每秒圍繞起始點的旋轉角度變化范圍
  • startRadius 初始半徑
  • startRadiusVar 初始半徑變化范圍
  • 生命屬性:

  • _life 粒子生命,即粒子的生存時間?
  • _lifeVar 粒子生命變化范圍

大小屬性:

  • _endSize 粒子結束時的大小,-1表示和初始大小一致
  • _endSizeVar 粒子結束大小的變化范圍
  • _startSize 粒子的初始大小
  • _startSizeVar 粒子初始大小的變化范圍

角度屬性:

  • _angle 粒子角度
  • _angleVar 粒子角度變化范圍

顏色屬性:

  • _endColor 粒子結束顏色
  • _endColorVar 粒子結束顏色變化范圍
  • _startColor 粒子初始顏色
  • _startColorVar 粒子初始顏色變化范圍

如果你不想編輯出五顏六色的粒子效果,那應該把_endColorVar,_startColorVar盡量設置為(0, 0, 0, 0)。

位置屬性:

  • _positionType 粒子位置類型,有自由模式(FREE)、相對模式(RELATIVE)和打組模式(GROUPED)三種
  • _posVar 發射器位置的變化范圍(橫向和縱向)
  • _sourcePosition 發射器原始坐標位置

Free自由模式,相對于屏幕自由,不會隨粒子節點移動而移動(可產生火焰、蒸汽等效果);Relative相對模式,相對于被綁定的Node靜止,粒子發射器會隨Node移動而移動,可用于制作移動角色身上的特效等等;Grouped打組模式是相對于發射點的,粒子隨發射器移動而移動。

自旋屬性:

  • _endSpin 粒子結束自旋角度
  • _endSpinVar 粒子結束自旋角度變化范圍
  • _startSpin 粒子開始自旋角度
  • _startSpinVar 粒子開始自旋角度變化范圍

紋理渲染屬性:

  • _texture 粒子貼圖紋理
  • _blendFunc 紋理的混合模式方法,有DISABLE、ALPHA_PREMULTIPLIED、ALPHA_NON_PREMULTIPLIED、ADDITIVE四種類型。

DISABLE = {GL_ONE, GL_ZERO};?
ALPHA_PREMULTIPLIED = {GL_ONE, GL_ONE_MINUS_SRC_ALPHA};?
ALPHA_NON_PREMULTIPLIED = {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA};?
ADDITIVE = {GL_SRC_ALPHA, GL_ONE};

  • GL_ZERO: 表示使用0.0作為因子,實際上相當于不使用這種顏色參與混合運算。
  • GL_ONE: 表示使用1.0作為因子,實際上相當于完全的使用了這種顏色參與混合運算。
  • GL_SRC_ALPHA:表示使用源顏色的alpha值來作為因子。
  • GL_DST_ALPHA:表示使用目標顏色的alpha值來作為因子。
  • GL_ONE_MINUS_SRC_ALPHA:表示用1.0減去源顏色的alpha值來作為因子。
  • GL_ONE_MINUS_DST_ALPHA:表示用1.0減去目標顏色的alpha值來作為因子。

Cocos2dx使用OpenGL混合原理對圖形進行渲染繪制?;旌暇褪侵赴褍煞N顏色混在一起,具體一點就是把某一像素位置原來的顏色和將要畫上去的顏色,通過某種方式混在一起,從而實現特殊的效果。它是一種常用的技巧,通常可以用來實現半透明,你也可以通過不同的設置得到不同的混合結果,產生一些有趣或者奇怪的圖象。

轉載于:https://www.cnblogs.com/slysky/p/3990595.html

總結

以上是生活随笔為你收集整理的Cocos2d-x内置粒子系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。