場景轉換(Transitions)

2021-09-23 23:29:36 字數 785 閱讀 2937

cocos2d-x最爽的乙個特性之一就是提供了在兩個不同場景之間直接轉換的能力。例如:淡入淡出,放大縮小,旋轉,跳動等。從技術上來說,乙個場景轉換就是在展示並控制乙個新場景之前執行乙個轉換效果。

場景之間通過transitionscene系列類來實現過渡跳轉的效果。transitionscene繼承於scene,該系列類主要是與場景切換特效相關的一些使用類。如transitionfadedown、transitionpageturn、transitionjumpzoom等等。

下圖是transitionscene的類關係圖: 

主要的切換特效有:

等等,更多效果可檢視官方api。

場景轉換的實現:

auto transitions = transitionmoveinl::create(0.2f, scene);

director::getinstance()->replacescene(transitions);

場景的轉換是由director類來控制的,通過呼叫director類的replacescene( scene scene ) 方法可直接使用傳入的scene替換當前場景來切換畫面,當前場景會被釋放,它是切換場景時最常用的方法。  

前面說過,場景轉換的一系列類都繼承於scene類,所以可以建立乙個轉場類替代scene,從而實現各種轉場的效果。  

`static transitionmoveinl create(float t, scene* scene);`方法中t表示轉場到scene的時間。

以上**的效果圖如下: 

Python圓形場景轉換

提取兩張的紅色通道亮度值構建灰度圖,找到noble grey影象的中心點 x0,y0 以變數t作為迴圈變數,設 x,y 為noble grey影象中的畫素點位置,當 x,y 與 x0,y0 的歐式距離小於10 t時,將該畫素點替換為lena grey影象中 x,y 處畫素點的值。每次迴圈都將處理好的...

關於自己建立的場景轉換場景

應公司的特殊要求,我做了建立了乙個場景轉換場景,注意這是自己建立場景轉換方法的場景,而不是自定義,所以這個場景沒有 繼承cctransitionscene 而是直接繼承 ccscene 需要做的這一步必須去完全了解場景轉換場景的機制,第一cctransitionscene 會用到的虛函式 有 vis...

實用工具狀態機transitions

狀態機是乙個非常實用的理論。在涉及到複雜的場景,建立狀態機模型,能帶來極大的方便。比如,網路連線 模型狀態 業務邏輯。狀態機並不複雜,重要的是它的思想,能夠極大減輕複雜度。使用時關鍵在於定義事件和動作。state 狀態 event 事件.事件觸發狀態變換 action 動作.event發生前或後執行...