溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Cocos2d-x擴(kuò)展類中UIImageView類的使用疑問

發(fā)布時(shí)間:2020-07-18 16:55:39 來源:網(wǎng)絡(luò) 閱讀:1371 作者:嗚拉呆 欄目:游戲開發(fā)

   這篇博文中,主要將自己今天在項(xiàng)目中使用UIImageView類時(shí)遇到的一些問題寫下來,其中涉及到一些不去嘗試可能就不會(huì)知道的東西。


   最近兩天剛接觸CocoStudio,在項(xiàng)目中使用了用它導(dǎo)出的文件,其中用到了一個(gè)圖片控件,他在cocos2d-x中對(duì)應(yīng)的類是UIImageView,本想通過Tag來獲取該類的一個(gè)對(duì)象,并通過他的runAction方法為他綁定一個(gè)序列幀動(dòng)作的,但在運(yùn)行時(shí)卻發(fā)現(xiàn)沒有自己想的那么簡(jiǎn)單,運(yùn)行時(shí)會(huì)產(chǎn)生內(nèi)存異常。經(jīng)過一番百度谷歌后都沒看到解決方法,但倒是在CocoChina論壇中找到了同命相連的人,他最終采用的方法是使用Armature加載cocostudio動(dòng)作編輯器產(chǎn)生的動(dòng)作,但由于Z軸次序問題,還是不太適合自己的項(xiàng)目。想想使用普通精靈來代替,但發(fā)現(xiàn)Z軸次序的問題同樣存在。好吧,沒辦法,要么放棄這個(gè)從Cocostudio導(dǎo)出的UI,自己代碼編寫,要么繼續(xù)探索,。。。好吧,我還是選擇繼續(xù)探索吧。最終在群里的群里網(wǎng)友的提示下,“遍歷”了一遍UIImageView類的方法,發(fā)現(xiàn)該類有一個(gè)值得一試的方法:setTexture,他可以實(shí)現(xiàn)更換該類對(duì)象的紋理,ok,咱自己來實(shí)現(xiàn)幀動(dòng)畫,方法很簡(jiǎn)單:注冊(cè)一個(gè)定時(shí)器,時(shí)間間隔是幀動(dòng)畫的幀間隔,然后在他的回調(diào)中按照幀的順序來更換UIImageView類對(duì)象的紋理,經(jīng)過測(cè)試,基本通過。


   雖然眼前的問題得到了解決,但這種方法卻也不值得提倡,首先我的cocos2d-x版本是2.2.0,其中對(duì)UIImageView類setTexture方法的描述是,該方法將被廢棄。。。,其二,該方法無重載,并且參數(shù)是const char* fileName。。。這意味著,每一幀都需操作IO,這對(duì)那些對(duì)流暢度要求較高的幀動(dòng)畫將是致命的打擊。


   個(gè)人對(duì)Cocos2d-x目前還屬初學(xué),對(duì)于內(nèi)部實(shí)現(xiàn)原理還不太清楚,期待大家能找到更好的解決方法,并分享出來!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI