圓形與矩形切換特效

圓形與矩形切換特效

DionysosLai2014-5-28

         首先,講下我做個特效的思路來源:http://www.itjhwd.com/cxy-qizi/,在篇文章的結尾會有讀者點評,當我們鼠標移到點評內容上時,就會出現一個特效動畫,當時就是這個特效深深的打動了我。(大家不要過於關注文章內容哦,不過文章寫得挺好的,贊個)。

         分析我的製作思路來源。

         首先,我想到的是,利用CCClipNode遮罩效果功能來實現。通過“底板+模板”的方式組合來達到裁剪目的。不夠在製作過程中,會有一個問題出現,就是我們顯示裁剪內容,也即模板裏面的東西,那麼必然是將“底板-模板”的內容給去除掉,也就是顯示灰色內容了。

Oh,shit!看來這個方法行不通。

         另個一個想法,就來的非常簡單了,就是直接取兩張圖片了。一張是矩形圖片,另一張是通過矩形圖片裁剪下來的圓形圖片(這個可以通過很多工具實現)。然後在對象完成一些動畫後,自動的更改紋理對象。

         在更改紋理對象時,一般我們是直接獲取精靈對象,然後更改其紋理,具體代碼如下:

CCSprite* sprite = (CCSprite*)getChildByTag(TAGSPRITE);

sprite->setTexture(m_textureCircle);

不過,這個做的話,會有一個很直接的問題,就是精靈會保留初始設置的寬和高,那麼我們直接更改紋理對象的話,如果此時的紋理對象寬和高沒有發生變化,則顯示正常。但是一旦你的長和寬發生了變化。Oh,my god!精靈就會自動伸縮到原來的長和寬,也就是發生了形變。

解決的方法,有點兒粗暴了。就是我們自己將對象給移除掉,然後在添加對象。當然,在這之前,你要保留之前對象的相關信息,比如位置信息。

代碼下載鏈接如下:https://github.com/DionysosLai/TestSquareToCirle

歡迎大家下載。這個特效,改進的地方可以是對象在旋轉時,加入淡出淡入效果(這是我們公司美麗的美術同事提的意見),目前還沒做。有時間就加上這個效果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章