Cocos2d-x 動畫(Animate)的製作
當我們拿到一張一張的動畫圖片後,首先將動畫圖片用TexturePackerGUI做出一個*.plist檔案,接下來就可以開始動手了。
先講一下動畫製作的流程
1.將我們一個一個的動畫圖片建立為CCSpriteFrame, 也就是做成精靈幀
2.再將建立好的CCSpriteFrame加到一個CCAnimation中, 也就是將精靈幀進行打包animation->addSpriteFrame(fram1); 。。。
3.設定動畫幀之間的間隔和迴圈次數
animation->setDelayPerUnit(0.1f);//設定幀與幀之間的間隔
animation->setLoops(kCCRepeatForever);//執行次數
4.將我們打好的包建立(create())成動畫CCAnimate
5.此刻把動畫CCAnimate當做一個精靈來runAction。
程式碼示例:
建立一個精靈,方便後面使用
CCSprite* spr = CCSprite::create();
spr->setPosition(ccp(240, 160));
addChild(spr);
1,傻瓜式版本,但是好理解
//建立精靈幀 CCSpriteFrame* fram1 = CCSpriteFrame::create("animation/p_2_01.png", CCRectMake(0, 0, 80, 80)); CCSpriteFrame* fram2 = CCSpriteFrame::create("animation/p_2_02.png", CCRectMake(0, 0, 80, 80)); CCSpriteFrame* fram3 = CCSpriteFrame::create("animation/p_2_03.png", CCRectMake(0, 0, 80, 80)); CCSpriteFrame* fram4 = CCSpriteFrame::create("animation/p_2_04.png", CCRectMake(0, 0, 80, 80));
//將動畫幀打包
CCAnimation* animation = CCAnimation::create();
animation->addSpriteFrame(fram1);
animation->addSpriteFrame(fram2);
animation->addSpriteFrame(fram3);
animation->addSpriteFrame(fram4);</span>
<span style="font-size:14px;"> animation->setDelayPerUnit(0.1f); //設定幀與幀之間的間隔 animation->setLoops(kCCRepeatForever); //執行次數
<span style="font-size:14px;"><span style="white-space:pre"> </span>CCAnimate* animate = CCAnimate::create(animation);
<span style="white-space:pre"> </span>spr->runAction(animate);
夠直觀了吧。接下來我們將上述的步驟做的簡潔一些,也就是我們實際開發中能用的
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("animation/plan.plist");
CCAnimation* animation = CCAnimation::create();
char nameBuf[100];
for (int i = 0; i < 8; i++)
{
memset(nameBuf, 0, sizeof(nameBuf));
sprintf(nameBuf, "p_2_0%d.png", i + 1);
animation->addSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(nameBuf));
}
animation->setDelayPerUnit(0.1f);
animation->setLoops(kCCRepeatForever);
CCAnimate* animate = CCAnimate::create(animation);
spr->runAction(animate);</span>
還可以再簡潔一些, CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("animation/plan.plist");
CCAnimation* animation = CCAnimation::create();
char nameBuf[100];
for (int i = 1; i < 9; i++)
{
memset(nameBuf, 0, sizeof(nameBuf));
sprintf(nameBuf, "p_2_0%d.png", i);
animation->addSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(nameBuf));
}
animation->setDelayPerUnit(0.1f);
animation->setLoops(kCCRepeatForever);
CCAnimate* animate = CCAnimate::create(animation);
spr->runAction(animate);
參考文章:http://www.jellythink.com/archives/752
相關推薦
Cocos2d-x 動畫(Animate)的製作
當我們拿到一張一張的動畫圖片後,首先將動畫圖片用TexturePackerGUI做出一個*.plist檔案,接下來就可以開始動手了。 先講一下動畫製作的流程 1.將我們一個一個的動畫圖片建立為CCSp
Jquery動畫(animate)的使用及擴展說明
思路 毫秒 eat sha typeof 來看 包含 const show JQuery動畫可以實現非常多的效果,並且支持擴展動畫效果,其中 http://easings.net/zh-cn# 在基於JQuery上作了非常有用的動畫擴展,尤其在一些曲線或拋物線上沒有這些公式
Cocos2d-x學習(二) 在Cocos2d-x2.2.6搭建你第一個專案
標題有些長,沒有辦法,這裡是為了突出版本Cocos2d-x2.2.6的特性,如果按照我前一篇博文Cocos2d-x學習(一) Cocos2d-x2.2.6安裝前準備,前面的基本工作已經做完了。 一.檢
Android cocos2d-x開發(三)之建立Android工程和編譯
1、進入cocs2d-x目錄,用文字編輯器開啟create-android-project.bat 將_CYGBIN=設定為cycgwin\bin安裝的的絕對路徑。 將_ANDROIDTOOLS設定為android sdk 的tools絕對路徑 將_NDKROOT設定為an
Cocos2d-x學習(一) Cocos2d-x2.2.6安裝前準備
玩遊戲是一件很有意思的事情,但如果自己可以開發一款遊戲,我想那會更有意思,我有一個關於導演和演員的夢,啊,當然不是那種單一場景的喲,額,貌似這麼說,有點對不住郭德綱,當然現實中去實現這個導演和演員的夢,
【Cocos2D-X 】初窺門徑(1) 製作一個動態的精靈
原理: Cocos2D中有個導演控制整個遊戲流程,導演將場景新增到螢幕上,場景中有各種各樣的演員。 先通過顯示一張圖片來看看Cocos2D遊戲的流程: AppDelegate.cpp bool AppDelegate::applicationDidFinishLaunch
cocos2d-x動作、特效和動畫(三)扭曲動作
CCActionInterval *actionTo = CCSkewTo::create(2, 70.0f, 0.0f); CCActionInterval *actionToBack = CCSkewTo::create(2, 0, 0);
過渡與動畫(animate.css庫、動畫原理)
## 一、使用animate.css庫 ## Vue 在插入、更新或者移除 DOM 時,提供多種不同方式的應用過渡效果。 在 CSS 過渡和動畫中自動應用 class 可以配合使用第三方 CSS 動畫庫,如 Animate.css 在過渡鉤子函式中使用 J
Cocos2d-JS中使用CocosStudio資源——幀動畫(1)
在本篇部落格中,我們將通過一個在Cocos2d-JS中使用從CocosStudio匯出的幀動畫資源的例子,來簡要介紹以下內容:利用ActionTimeLine進行動畫切割,如何使用匯出的幀動畫資源。關於幀動畫,由於內容繁雜。我們將分為兩篇進行介紹。本篇將主
【帶著canvas去流浪(12)】用Three.js製作簡易的MARVEL片頭動畫(上)
目錄 一. 大作業說明 二.基本思路 三.視訊紋理表面修復——UV對映 3.1 問題描述 3.2 紋理貼圖的基本原理-UV對映 3.3 關鍵示例程式碼
【帶著canvas去流浪(13)】用Three.js製作簡易的MARVEL片頭動畫(下)
目錄 一. 模型的製作 1.1 生成字型模型 1.2 多表面貼圖 二. 鏡頭及動畫 三. 大作業總結 示例程式碼託管在:http://ww
Android 學習之逐幀動畫(Frame)
http sta ram override start pub fill creat 代碼 幀動畫就是將一些列圖片。依次播放。利用肉眼的“視覺暫留”的原理,給用戶的感覺是動畫的錯覺,逐幀動畫的原理和早期的電影原理是一樣的。 a:須要定義逐幀動畫,能夠通過代碼定義。也能夠
Android Studio之Activity切換動畫(三)
文章 oid out size ref intel tar studio anim 1、上一篇文章“Android Studio之多個Activity的滑動切換(二)”中實現了多個activity之間的滑動切換,可是新切換出的activity大多是從右側進入 2、我們能
js動畫(速度)
fun esc move keywords nload desc func cache scale <!DOCTYPE html><html><head><meta charset="utf-8" /><meta htt
CSS3動畫(二):波浪效果
col -1 loading ack css代碼 code load width ase 實現效果 如圖所示: 首先得準備三張圖,一張是淺黃色的背景圖loading_bg.png,一張是深紅色的圖loading.png,最後一張為bolang.png。 css代碼
CSS3-loading動畫(五)
sla 橢圓 clas gif 同時 沒有 .cn idt das CSS3-loading加載動畫 在線示例demo:http://liyunpei.xyz/loading.html 之前發了四篇,二十二個效果,今天再分享六個效果,總計二十八個效果。 二十三、效果二
UWP 使用OneDrive雲存儲2.x api(二)【全網首發】
back existing ace -s -c file school sync sqlite 接上一篇 http://www.cnblogs.com/hupo376787/p/8032146.html 上一篇提到為了給用戶打造一個完全無縫銜接的最佳體驗,UWP開發者最好也
UWP 使用OneDrive雲存儲2.x api(一)【全網首發】
既然 現在 rest 方式 exist 開源 體驗 clas 下載地址 最近開發人臉識別UWP【微識別 / WeRecognition】用到了OneDrive開發,下面把來龍去脈講一下。 下載地址 https://www.microsoft.com/store/produc
css3動畫(animation)效果3-正方體合成
per rip relative java tom gpo 介紹 ack rotate <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
css3動畫(animation)效果1-漂浮的白雲
body ini abs mage and run ram info alternate <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">