今天看了精靈這一章,先從類的繼承來說吧。
sprite精靈類繼承自node和textureprotocol,它的子類有physicssprite物理引擎精靈類和skin**精靈類。
建立精靈的方式有很多種,下面幾種是比較常用的:
static sprite *create()//建立乙個精靈物件,紋理屬性等在建立後設定。
static sprite *create(const std::string &filename).//指定建立精靈。
static sprite *create(const std::string&filename,const rect&rect).//指定和裁剪的矩形區域來建立精靈。
static sprite *createwithtexture(texture2d *texture)//指定紋理建立精靈。
static sprite *createwithtexture(texture2d *texture, const rect &rect,bool rotated=false).指定紋理和裁剪的矩形區域來建立精靈,第三個引數為是否旋轉紋理,預設不旋轉。
精靈的優化可以使用精靈表 和快取。
精靈表也成為紋理圖集,是把許多小的精靈組合到一張大圖裡面。其優點如下:
1:減少檔案讀取次數
2:減少opengl es繪製呼叫並且加速渲染。
3:減少記憶體消耗
4:cocos2d-x全面支援zwoptex和texturepacker,所以建立和使用紋理圖集是很容易的。
快取有如下幾種,精靈幀快取是其中的一種:
1:紋理快取,使用紋理快取可以建立紋理物件。
2:精靈幀快取:能夠從精靈表中建立精靈幀快取,然後再從精靈幀快取中獲得精靈物件,反覆使用精靈物件時,使用精靈幀快取可以節省記憶體消耗。
3:動畫快取。動畫快取主要用於精靈動畫,精靈動畫中的每一幀是從動畫快取中獲取的。
使用精靈幀快取的例子:
spriteframecache *framecache = spriteframecache::getinstance();
framecache->addspriteframewithfile(「spritesheet.plist」);
auto mouitain1 = sprite::createwithspriteframe(「moutain1.png」)//的路徑為.plist座標檔案中定義的精靈幀名
mountain->setanchorpoint(vec::zero);
mountain->setposition(vec(-200,80));
this->addchild(mountain1,0);
歡迎使用CSDN markdow
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...
歡迎毛毛與妞妞使用CSDN markdown編輯器
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
歡迎使用CSDN markdow1n編輯器
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...