當前位置:首頁 » 背景圖片 » cocos2dx設置背景圖片
擴展閱讀
學到老的圖片有哪些 2025-09-22 08:59:06
唯美花陽光圖片 2025-09-22 08:54:23
簡單線條畫圖片大全 2025-09-22 08:48:43

cocos2dx設置背景圖片

發布時間: 2022-08-19 03:22:40

Ⅰ cocos2dx進度條怎麼換背景

SizeVisibleSize=Director::getInstance()->getVisibleSize();Vec2VisibleOrigin=Director::getInstance()->getVisibleOrigin();//BackGround1_BackGround_1=Sprite::create("background.jpg");floatScaleTimes=VisibleSize.height/_BackGround_1->getContentSize().height;//計算縮放倍數_BackGround_1->setScale(ScaleTimes);

Ⅱ cocos2dx createwithcharmap 必須是什麼樣的png

: 利用背景定位就可以了, 比如你有一個 PNG圖片 叫 1.png 大小是 300 X 300 裡面的 小圖標大小是 30 X 30 大概在中間的話 那可以這樣顯示 重要的

Ⅲ cocos2dx 載入cocostudio ui界面時會卡住。

1CocoStudio場景編輯器前面的文章《使用CocoStudio創建Cocos2d-x序列幀和骨骼動畫》《如何使用CocoStudioUI編輯器實現《亂斗堂》設置界面》,其中介紹了如何使用動畫編輯器創建動畫與使用UI編輯器創建游戲配置界面,而本文將集兩者之大成,使用CocoStudio場景編輯器來創建游戲場景,其中包含游戲UI與動畫,來定製一個游戲主界面。2使用CocoStudio完成《魔卡幻想》場景編輯對於環境的搭建使用,請參考之前的文章,或者實時關注官方最新版本的安裝使用方法。2.1UI編輯器製作游戲主界面創建項目(項目名稱:MysticalCard),並導入項目UI資源,添加一圖片框設定背景圖片。注意在工具攔設置「畫布」的大小(如果需要),這將決定著你的設計解析度,在運行時還需要注意屏幕的適配問題,如放大縮小,位置偏移等,視具體情況而定。為界面添加UI元素,圖片框等,請根據自己的需要定製實踐過程中的注意事項添加控制項時注意必要的屬性設置控制項的命名規范,這有助於我們今後在後台編寫代碼獲取界面元素可交互的控制項的「可交互屬性」開啟2.2建立關鍵幀動畫除了主界面一些必要的UI控制項,我們還需要一個「對話框指示」的動畫效果。這是一個幀動畫。准備工作。如下圖所示:打開CocoStudio,啟動動畫編輯器創建一個新的項目,後導入資源(在「資源窗口」中,點擊「文件」或者「文件夾」標示,添加需要的素材資源)在「資源窗口中」點擊關鍵幀動畫的守幀圖片,拖動至「渲染窗口」將第一關鍵幀拖動至「渲染窗口」中心。可以使用工具欄,快速定位至窗口中心,使圖片顯示在正中間,可以讓動畫更好的定位。添加其它幀圖片,注意,我們需要選中剩餘圖片,然後「拖動」到「對象結構」視圖中的「第一關鍵幀」所在的對象,如下圖所示。關鍵幀與骨骼動畫操作區別:在使用骨骼動畫的時候,我們將骨骼中的各部分元素,直接拖動添加到「渲染窗口」,以擺放各骨骼的位置關系,而在「對象結構」視圖中則表現為,一個列表,標示著每一塊骨骼對象,不同幀所改變的是各個骨骼對象的位置,以達到骨骼動畫效果。而在關鍵幀動畫中,它的對象結構只有一個,而在每一幀修改的不是其位置,而是其顯示內容。這是兩者之間的區別,那操作方式也有所不同。而對於它們所導出的資源則是相同,用法也是同樣。剩餘幀添加之後,我們看見在「關鍵幀」視圖中,已經有了多幀動畫,可以播放動畫,查看效果,並可以通過修改「速率」來控制動畫的播放速度。導出動畫資源,導出的資源文件可以被我們在Cocos2d-x中以代碼的方式直接載入,然後播放其動畫,也可以作為場景編輯器中的一個元素,被添加在場景編輯器里,後面的內容就是使用場景編輯器來載入一個動畫的方式。2.3場景編輯器的資源「整合」使用CocoStudio可以很好的幫助游戲開發過程中分工合作。動畫編輯器和UI編輯器可以由多個人進行編輯,最後再由一個人統合資源,這也就是場景編輯器的優點了,它除了能支持CocoStudio本身所自帶的動畫編輯器,UI編輯器,它還能支持,Tmx地圖資源,粒子編輯器的粒子效果資源,聲音資源等~並且不斷擴展中。以下將給出如何在場景編輯器整合我們之前所創建的動畫與UI界面的資源,來實現我們一個場景的運行效果。它的步驟如下:啟動場景編輯器,新建一個場景項目。並設置「畫布」大小。畫布大小要適量。我們拖動一個UI控制項到畫布之上,它作為我們之前導出的UI資源的承載。我們將之前的UI編輯器所導出的資源,導入到當前場景項目中來,導入方式與UI編輯器導入資源方式同樣,如下圖:為UI控制項的「文件」屬性賦值:我們在資源視圖中找到UI編輯器所導出的UI資源,其目錄下包含json文件資源(如這里的「MysticalCard_1.json」),將其拖動到UI控制項的文件屬性中去,如下圖所示:前面的步驟已經將UI資源導入場景之內,現在需要添加之前所創建的動畫資源。我們以相同的方式導入動畫編輯器所導出的動畫資源文件。拖動一個骨骼控制項至場景界面,如下圖所示。為骨骼控制項的「文件」屬性賦值,其值為動畫資源中的ExportJson(或者json文件,這取決於動畫資源的導出方式)文件。運行效果:當我們建立好場景之後,可以通過工具欄運行按鈕,點擊查看效果,這意味著你不用將所有的資源文件,手動以代碼的方式添加到Cocos2d-x中,便能看到效果。在運行效果中,所有的控制項都是可操作的,如下圖,但這里只有點擊效果,如果需要實現其邏輯,那麼現在需要將其載入到Cocos2d-x項目中,編寫後台代碼實現。3在Cocos2d-x中載入場景資源並運行之3.1載入場景內容前面那麼多步驟,使用CocoStudio來創建了UI,動畫,還有一個場景,而要將其運行在實際的項目中,就非常的簡單與方便了,只需幾行代碼,就能夠將其載入到項目中去,當然在這之前我們需要將場景編輯器的資源(場景項目目錄中「Resources」目錄,其中將包含一個json文件)復制到項目資源目錄中去://載入場景資源CCNode*pNode=CCJsonReader::sharedJsonReader()->createNodeWithJsonFile("McScene.json");this->addChild(pNode);通過CCJsonReader來讀取解析json,從而獲得場景中的節點內容,直接添加到當前的場景就能運行。3.2在場景中播放動畫默認載入的場景資源動畫組件是沒有播放的,需要手動獲取動畫組件對象,然後調用其播放方法,當然這個步驟也是非常簡單的://pNode為之前所獲取的場景資源根節點,通過此節點獲取到動畫對象,獲取方式根據在場景編輯其中設置的層次關系而定CCComRender*pLoadRender=(CCComRender*)(pNode->getChildByTag(1)->getChildByTag(1)->getComponent("CCArmature"));CCArmature*armLoad=(CCArmature*)(pLoadRender->getRender());//播放動畫armLoad->getAnimation()->playByIndex(0);3.3對場景的一些編碼說明使用CocoStudio就是為了幫助我們快速的建立UI原型,然後通過編碼可以獲取到裡面的任意一個元素對象,並修改其屬性值,調用其方法,正如上面所示播放一個動畫的方法同樣。其步驟如下:通過CCJsonReader類讀取json文件,將會自動解析構建對象,返回一個節點CCNode任何元素都能通過這個CCNode節點,獲取到,它其實就是一個樹,所不同的是層級關系(樹節點的位置)找到需要對象所在的「樹枝」,後通過getComponent方法獲取所在的CCComRender對象通過CCComRender的getRender方法獲取最終對象得到我們所需要的具體對象之後,我們就能夠對齊進行草,設置屬性,調用方法等,諸如此類本文中所有的源碼示例和CocoStudio項目工程都可以在這里查看。

Ⅳ Cocos2dx 如何實現對背景進行模糊處理以達到突出某一個Sprite

動作(Actions)
move移動:moveto/moveby 從一個位置移動到另外一個位置 從一個位置移動多少數量級
rotate旋轉:rotateto/rotateby 從一個角度旋轉到另外一個角度 旋轉多少個數量級
scale縮放:scaleto/scaleby 放大縮小到什麼程度
skew傾斜:skewto/skewby 傾斜到什麼程度
rotationalskew旋轉著傾斜:rotationalskewto/rotationalskewby 旋轉著傾斜
Skew+scale+rotate傾斜+縮放+旋轉
jump跳躍:jumpto/jumpby 跳躍到某個位置,或者以某個數量接跳躍
cardinalspline,catmullrom沿著某個路徑移動:沿著某個圖形移動,可以是規則的圖形也可以是不規則圖形
bezier兩個精靈重疊在一起一個在前面,一個在後面:bezierto/bezierby
blink一閃一閃的效果
fadein/fadeout淡入淡出效果
tint色彩:tintto/tintby 改變小精靈的色彩
animation動畫:讓小精靈呈現動態效果
sequence:move+rotate:移動加旋轉序列
sequence:move+rotate+scale+removeself:移動,旋轉,縮放,讓自己消失
spawn:jump+rotate:一邊跳一邊旋轉,向翻跟斗一樣
reverse an action:執行一個動作相反的動作
delaytime延遲時間:move+delay+move移動+延遲一段時間+移動
repeat/repeatforever:重復執行或者永久重復執行動作
reverse a sequence:反向執行一個序列
orbit camera:軌道攝像機
pauseresumeactions:暫定和繼續actions

過渡(transitions)
所謂過渡也就是第一個場景如何過渡到第二個場景,可以添加很多效果。
CCTransitionProgressInOut:一個場景以一個長方形的形式逐漸變大,然後顯示另外一個場景。
CCTransitionProgressOutIn:一個場景逐漸變小,直到消失,是通過一個大長方形到一個小長方形消失的,然後組件顯示第二個場景,先顯示的是第二個場景外圍的區域,然後再顯示第二個場景裡面區域。
CCTrasitionCrossFade:一個場景漸出,一個場景漸入
TransitionPageForward:向前翻頁效果
TransitionPageBackward:向後翻頁效果
CCTransitionFadeTR:第一個場景從左下角開始淡出一直到右上角,第二個場景從左下角開始淡入一直到右上角
CCTransitionFadeBL:第一個場景從右上角開始淡出一直到左下角,第二個場景從右上角開始淡入一直到左下角
CCTransitionFaceUp:第一個場景從底部開始淡出一直到頂部,第二個場景從底部開始淡入一直到頂部
CCTransitonFadeDown:第一個場景從頂部開始淡出一直到底部,第二個場景從頂部開始淡入一直到底部
CCTransitionTurnOffTiles:以隨機的順序關閉掉外出的場景的磚瓦
CCTransitionSplitRows:奇數行向左出,偶數行向右出
CCTransitionSplitCols:奇數行向下出,偶數行向上出
CCTransitionFade:出去的場景淡出,屏幕變黑,進來的場淡入
FadeWhileTransition:出去的場景淡出,屏幕變白,進來的場淡入
FlipXLeftOver:沿著X從左翻轉
FlipXRightOver:沿著X從右翻轉
FlipYUpOver:沿著Y從上,翻轉
FlipYDownOver:沿著Y從下翻轉
FlipAngularLeftOver:從某個角度在左邊翻轉場景
FlipAngularRightOver:從某個角度在右邊翻轉場景
FlipAngularUpOver:從某個角度在上邊翻轉場景
FlipAngularDownOver:從某個角度在下邊翻轉場景
ZoomFlipXLeftOver:沿著X從左翻轉,而且有放大縮小效果
ZoomFlipXRightOver:沿著X從右翻轉,而且有放大縮小效果
ZoomFlipYUpOver:沿著Y從上翻轉,而且有放大縮小效果
ZoomFlipYDownOver:沿著Y從下翻轉,而且有放大縮小效果
ZoomFlipAngularLeftOver:沿著某個角度從左翻轉,而且有放大縮小效果
ZoomFlipAngularRightOver:沿著某個角度從右翻轉,而且有放大縮小效果
CCTransitionShrinkGrow:縮小出去的場景,放大進來的場景
CCTransitionRoToRoom:一邊旋轉一邊縮放
CCTransitionMoveInL:從左邊進入
CCTransitinMoveInR:從右邊進入
CCTransitionMoveInT:從上邊進入
CCTransitionMoveInB:從下邊進入
CCTransitionSlideInL:從左邊滑動著進入,滑動的過程中把第一個場景推出去了
CCTransitionSlideInR:從右邊滑動進入
CCTransitionSlideInT:從上邊滑動進入
CCTransitionSlideInB:從下邊滑動進入
CCTransitionJumpZoom:跳動加縮放

進度動作actionprogress
參考ActionsProgressTest
SpriteProgressToRadial:精靈沿著徑向執行進度動畫
SpriteProgressToHorizontal:精靈沿著水平方向執行動畫
SpriteProgressToVertical:精靈沿著垂直方向執行動畫
:精靈沿著中點改變時的那個徑向執行進度動畫
SpriteProgressBarVarious:精靈執行進度條動畫時,精靈所在的那個條不斷變化
SpriteProgressBarTintAndFade:精靈執行進度條動畫時,顏色變化,並且有淡出效果
SpriteProgressWithSpriteFrame:並不僅僅是精靈執行動畫,精靈所在的整個frame執行動畫效果,包括精靈所在的那個frame旁邊的填充

特效effects
TurnOffTiles: 以隨機的順序關閉tiles
WavesTiles3D:3D效果搖擺tiles
JumpTiles3D:3D效果tiles跳躍起來,這樣就能看到每個tile下面的背景了
SplitRows:將整個場景分成若干行,奇數行往左,偶數行往右
SplitCols:將整個場景分成若干列,奇數列往下,偶數列往上
PageTurn3D:3D翻頁效果
Shaky3D:整個頁面震動效果
Waves3D:整個頁面波動效果
FlipX3D:3D水平方向翻轉效果
FlipY3D:垂直方向翻轉效果
Lens3D:3D棱鏡效果
Ripple3D:3D波紋效果
Liquid:液體晃動效果
Waves:波動效果
Twirl:轉動效果
ShakyTiles3D:tiles震動3D效果
ShatteredTiles3D:肢離破碎的tiles3D效果
ShuffleTiles:將所有的tiles混亂排列的效果
FadeOutTRTiles:tiles從左下角向右上角淡出
FadeOutBLTiles:tiles從右上角向左下角淡出
FadeOutUpTiles:tiles從下向上淡出
FadeOutDownTiles:tiles從上向下淡出

點擊和移動(ClickAndMove)
ClickAndMoveTestScene:每當點擊滑鼠左鍵時,小精靈更隨著我們的滑鼠移動

整個世界都在旋轉(RotateWorld)
RotateWorldTest:整個世界都在旋轉,包括小精靈,整個頁面,頁面里分塊旋轉

粒子運動組成各種效果(Particle)
下雪,下雨,煙花效果燈。

精靈緩入緩出效果(SrpiteEaseInOut)
EaseIn:緩入
EaseOut:緩出

精靈運動軌跡(MotionStreak)
HighQualityMode/FastMode

繪制原始的各種幾何形狀(DrawPrimitives)
繪制三角形,曲線,多邊形等等

節點(Node)
這個到底是什麼意思,不太懂

觸碰測試(Touches)
每當小精靈觸碰到一個東西時,做一些事情

菜單(Menu)
在屏幕上可以顯示若干個菜單項,點擊之後可以是一個菜單,也可以做一些事情,比如返回到主菜單,退出遊戲,進行一些設置

動作管理器(ActionManager)
通過動作管理器對精靈如何執行一些列動作進行管理。
LogicTest:先執行什麼動作再執行什麼動作的邏輯進行控制
PauseTest:讓一個動作暫停
ResumeTest:繼續一個動作
RemoveTest:移除一個動作,從而讓Grossini不會碰撞牆壁

層(Layer)
LayerRGBA:兩個精靈分別在不同的層,改變每個層的RGBA,從而知道他們是不同的層

場景(Scene)
pushScene()/popscene/popSceneToRoot 這些是常用的在不同的Scene之間切換的方法,所有的場景存放在一個棧之中。

Parallax:Parent and 3 childrens
搞不懂的東西

地圖(TiledMap)
用地磚堆砌起來的地圖相關展示

時間間隔(Interval)
精靈執行動作的時間間隔,比如從一個地方跳躍到另外一個地方的時間間隔如何控制

標簽(Label)
如何使用標簽展示數據,以及隨著時間的推移更新標簽的值

文本輸入框(TextInput)
不同的文本輸入框,有不同的預設行為
CCTextFiledTTF:預設行為是每輸入一個字元就跳動一下,並且可以限制字元個數
TextFieldTTF:預設行為什麼也沒干

精靈(Sprite)
精靈能夠執行一些力動作,比如旋轉,縮放等等

時間表(Scheler)
使用Scheler利用timeScale實現快進和回退功能

渲染紋理(RenderTexture)
搞不懂

2d紋理
搞不懂

物理引擎Chipmunk,Box2D
物理引擎的測試,比如說模擬一個物體在有重力的環境下等情景。

高級的特效EffectsAdvanced

小鍵盤(Keypad)

後台音樂播放相關(CocosDenshion)
音樂播放,暫停,回放,音量控制等等

性能優化相關(Performance)
精靈個數啥的,node,紋理,particle,觸碰等等相關性能如何優化。

擴展(Extensions)
在extensions中提供給我們的在以後版本中可能會添加到標准api中的類,是一些比較高級和容易使用的功能。

字體(fonts)

和本地化相關(current language)
如何獲取本地語言

紋理緩存(TextureCach)
紋理緩存不懂

陰影相關(Shade)

多點觸摸(MultiTouch)
多點觸摸相關類如何使用

剪切(Clipping)
不懂

文件操作(FileUtils)
如何操作文件相關的演示
人體脊椎各個部分如何運動(spine)
精靈的各個關節如何運動,實現動態精靈效果啥的

Ⅳ 怎樣設置cocos2dx背景透明

方法/步驟
1
廢話不多說,先放圖。

2
就如果你想讓你的activity透明,很簡單,只需要4步。1. 打開AndroidManifest.xml文件,添加Translucent到
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

3
2.打開Cocos2dxActivity.java文件,添加
getWindow().setFormat(PixelFormat.TRANSLUCENT);

4
3.打開cocos2d/cocos/2d/CCDirector.cpp文件,找到setGLDefaultValues()函數,修改最後一個alpha值,范圍從0.0f到1.0f。

5
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

6
4.打開cocos2d/cocos/2d/platform/android/nativeactivity.cpp,找到engine_init_display(struct engine* engine)函數,修改如下數組

7

const EGLint attribs[] = {
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
EGL_BLUE_SIZE, 5,
EGL_GREEN_SIZE, 6,
EGL_RED_SIZE, 5,
EGL_DEPTH_SIZE, 16,
EGL_STENCIL_SIZE, 8,
EGL_NONE
};

const EGLint attribs[] = {
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
//EGL_BLUE_SIZE, 5, -->delete
//EGL_GREEN_SIZE, 6, -->delete
//EGL_RED_SIZE, 5, -->delete
EGL_BUFFER_SIZE, 32, //-->new field
EGL_DEPTH_SIZE, 16,
EGL_STENCIL_SIZE, 8,
EGL_NONE
};

Ⅵ Cocos2dx如何根據手機屏幕設置解析度

上面的360*640 只不過是設置當前調試窗口的大小,僅用來調試看的,對移植到實際設備上不起任何作用。下面的720*1280 才是關鍵,意思是不管實際設備的解析度是多少都按這個比例進行縮放,不管它是1080p還是480p都可以自動適應,這個解析度一般設為你的資源圖片的解析度,這個很好懂的

Ⅶ 如何使用particleeditor編輯器

使用方法
particle-editor編輯器無需安裝,下載解壓後即可使用,它的編輯界面如下:

菜單欄的 Samples 下為用戶提供了一些常用的粒子特效,如煙花、火、流星等,你可根據需要創建不同的粒子群。
屬性講解
編輯器的屬性:
IsBackgroundMove 編輯器背景圖片是否滾動,如果你覺得它動來動去的很煩人,你可以把它設置為False
IsSaveTextureImageData 是否把圖片數據編碼到文件里導出,這里我建議把它設置為False
Scale 編輯器畫布縮放比例大小
編輯器的屬性隻影響編輯器內的預覽效果,不對保存的.plist文件產生影響。而下面的所有屬性都對應Cocos2dx中粒子系統的各屬性,會直接影響生成的.plist文件。
主要屬性:
Duration 發射器生存時間,即它可以發射粒子的時間,注意這個時間和粒子生存時間不同。單位秒,-1表示永遠;粒子發射結束後可點擊工具欄的播放按鈕再次發射
EmissionRate 每秒噴發的粒子數目
IsAutoRemoveOnFinish 粒子結束時是否自動刪除
Mode 噴發器模式,有重力模式(Gravity)和半徑模式(Radius,也叫放射模式)兩種
TotalParticles 場景中存在的最大粒子數目,往往與EmissionRate配合起來使用

半徑模式:半徑模式可以使粒子以圓圈方式旋轉,它也可以創造螺旋效果讓粒子急速前進或後退。下列各屬性只在半徑模式下起作用。
EndRadius 結束半徑
EndRadiusVar 結束半徑變化范圍,即結束半徑值的范圍在 (EndRadius – EndRadiusVar) 和 (EndRadius + EndRadiusVar )之間,下面類似。
RotatePerSecond 粒子每秒圍繞起始點的旋轉角度
RotatePerSecondVar 粒子每秒圍繞起始點的旋轉角度變化范圍
StartRadius 初始半徑
StartRadius 初始半徑變化范圍
重力模式:顧名思義,重力模式模擬重力,可讓粒子圍繞一個中心點移近或移遠,它的優點是非常動態,而且移動有規則。下列各屬性只在重力模式下起作用。
GravityX 重力X
GravityY 重力Y
RadiaAccel 粒子徑向加速度,即平行於重力方向的加速度
RadiaAccelVar 粒子徑向加速度變化范圍
Speed 速度
SpeedVar 速度變化范圍
TangentialAccel 粒子切向加速度,即垂直於重力方向的加速度
TangentialAccelVar 粒子切向加速度變化范圍
生命屬性:
Life 粒子生命,即粒子的生存時間�0�2
LifeVar 粒子生命變化范圍
大小屬性:
EndSize 粒子結束時的大小,-1表示和初始大小一致
EndSize 粒子結束大小的變化范圍
StartSize 粒子的初始大小
StartSize 粒子初始大小的變化范圍
角度屬性:
Angle 粒子角度
AngleVar 粒子角度變化范圍
顏色屬性:
EndColor 粒子結束顏色
EndColorVar 粒子結束顏色變化范圍
StartColor 粒子初始顏色
StartColorVar 粒子初始顏色變化范圍

如果你不想編輯出五顏六色的粒子效果,那應該把EndColorVar,StartColorVar盡量設置為(0, 0, 0, 0)。
位置屬性:
PositionType 粒子位置類型,有自由模式(Free)、相對模式(Relative)和打組模式(Grouped)三種
PosVarX 發射器位置的橫向變化范圍,煙花出現在位置相對中心位置的像素偏移�0�2
PosVarY 發射器位置的縱向變化范圍
SourcePositionX 發射器原始X坐標位置
SourcePositionY 發射器原始Y坐標位置
Free自由模式,相對於屏幕自由,不會隨粒子節點移動而移動(可產生火焰、蒸汽等效果);Relative相對模式,相對於被綁定的Node靜止,粒子發射器會隨Node移動而移動,可用於製作移動角色身上的特效等等;Grouped打組模式是相對於發射點的,粒子隨發射器移動而移動。
自旋屬性:
EndSpin 粒子結束自旋角度
EndSpinVar 粒子結束自旋角度變化范圍
StartSpin 粒子開始自旋角度
StartSpinVar 粒子開始自旋角度變化范圍
紋理渲染屬性:
DestBlendFunc 目的紋理的混合模式
SrcBlendFunc 源紋理的混合模式
TextureImageData 紋理數據
TexturePath 紋理路徑,目前只可為Debug.win32目錄下文件名

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

這里的源紋理和目標紋理跟繪制的順序有關,先繪制的紋理是目標紋理,後繪制的紋理理所應當的就成為了源紋理。下面具體來看看混合模式的屬性值。
DestBlendFunc和SrcBlendFunc的常用值為以下幾種情況:
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值來作為因子。
最常用的組合模式有兩種:GL_ONE和GL_ONE_MINUS_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA和GL_SRC_ALPHA。
介紹完編輯器的各屬性項以後,我們就可以根據需要編輯出不同效果的粒子效果了。下圖是類似天天愛消除游戲中的「雪花」粒子特效。

資源圖片 ,在使用粒子編輯器編輯粒子時,應放在粒子編輯器的ParticleEditor目錄下;導出plist文件時,應把資源圖片和plist文件放一起。該資源下載地址:https://github.com/renshan/btnTest/tree/master/snow-plist
注意:這里目的紋理的混合模式設置為GL_ONE,源紋理的混合模式設置為GL_ONE_MINUS_SRC_ALPHA。
cocos2dx中載入使用plist文件
只要編輯出粒子效果,那在cocos2d-x引擎中載入plist文件就非常簡單了。使用以下代碼來讀取粒子效果:
//貼背景圖片
Sprite* pSprite = Sprite::create("IMG1.jpg");
pSprite->setPosition(Point(-20 , 0));
pSprite->setAnchorPoint(Point(0, 0));
this->addChild(pSprite, 0);

//讀取粒子效果
ParticleSystem* m_emitter1 = ParticleSystemQuad::create("snow.plist");
m_emitter1->retain();
ParticleBatchNode *batch = ParticleBatchNode::createWithTexture(m_emitter1->getTexture());
batch->addChild(m_emitter1);
addChild(batch, 10);
m_emitter1->release();

//或讀取粒子效果
//ParticleSystem* m_emitter1 = ParticleSystemQuad::create("snow.plist");
//addChild(m_emitter1);

這里ParticleBatchNode可以引用且只可以引用1個texture(一個圖片文件,一個texture圖集),增加到SpriteBatchNode中的ParticleSystem都是在OpenGL ES調用繪圖函數時繪制的。
如果ParticleSystem沒有增加到ParticleBatchNode中,OpenGL ES會調用每個粒子系統的繪圖函數,這樣做效率會比較低。
好了,基本上就這些,比想像中簡單多了

Ⅷ cocos2dx場景黑邊我使用的Sprite作為Layer的背景,我設置sprite的位置為Layer的中心點,

Size VisibleSize = Director::getInstance()->getVisibleSize();
Vec2 VisibleOrigin = Director::getInstance()->getVisibleOrigin();
//BackGround 1
_BackGround_1 = Sprite::create("background.jpg");
float ScaleTimes = VisibleSize.height / _BackGround_1->getContentSize().height;//計算縮放倍數
_BackGround_1->setScale(ScaleTimes);