Cocos Creator 多分辨率完美適配系列-5(貼邊欄動(dòng)畫(huà)實(shí)現(xiàn))

本系列教程指引:

  1. Cocos Creator 多分辨率完美適配系列-1(現(xiàn)狀與最終效果)
  2. Cocos Creator 多分辨率完美適配系列-2(部署驗(yàn)證設(shè)置)
  3. Cocos Creator 多分辨率完美適配系列-3(背景適配實(shí)現(xiàn))
  4. Cocos Creator 多分辨率完美適配系列-4(內(nèi)容適配實(shí)現(xiàn))
  5. Cocos Creator 多分辨率完美適配系列-5(貼邊欄動(dòng)畫(huà)實(shí)現(xiàn))
  6. Cocos Creator 多分辨率完美適配系列-6(劉海屏適配)
  7. Cocos Creator 多分辨率完美適配系列-7(封裝庫(kù)使用)

1. 動(dòng)畫(huà)實(shí)現(xiàn)

經(jīng)過(guò)上一個(gè)章節(jié)之后距潘,我們已經(jīng)可以 「實(shí)現(xiàn)多分辨率下貼邊道具欄」了讯赏,現(xiàn)在我們可以此基礎(chǔ)上實(shí)現(xiàn)動(dòng)畫(huà)效果

  1. 點(diǎn)擊屏幕的時(shí)候祭示,隱藏道具欄
  2. 再次點(diǎn)擊屏幕的時(shí)候蔑赘,顯示道具欄
CONTENT_ADAPTER_RESULT_WITH_ANIM.gif

場(chǎng)景布局比較簡(jiǎn)單腊脱,就是4個(gè)貼邊節(jié)點(diǎn)加Widget,這里就不再貼場(chǎng)景設(shè)置了姑丑,具體場(chǎng)景設(shè)置可以下載項(xiàng)目進(jìn)行預(yù)覽

https://github.com/zhitaocai/CocosCreator-Multi-resolution-Adapter

關(guān)鍵動(dòng)畫(huà)代碼如下:

@property(cc.Node)
closeToLeftNode: cc.Node = null;

private _isShowed = true;

private _closeToLeftNodeShowPos: cc.Vec2 = null;

private _closeToLeftNodeHidePos: cc.Vec2 = null;

start() {
    // 記錄顯示和隱藏的位置
    this.closeToLeftNode.getComponent(cc.Widget).updateAlignment();
    this._closeToLeftNodeShowPos = this.closeToLeftNode.position;
    this._closeToLeftNodeHidePos = this.closeToLeftNode.position.sub(
        cc.v2(this.closeToLeftNode.width, 0)
    );
}

/**
 * 屏幕點(diǎn)擊之后出現(xiàn)/隱藏上下左右4個(gè)貼邊道具欄
 */
onClick() {
    this.closeToLeftNode.stopAllActions();
    if (this._isShowed) {
        this.closeToLeftNode.runAction(
            cc.moveTo(0.32, this._closeToLeftNodeHidePos)
              .easing(cc.easeCircleActionOut())
        );
    } else {
        this.closeToLeftNode.runAction(
            cc.moveTo(0.32, this._closeToLeftNodeShowPos)
              .easing(cc.easeCircleActionOut())
       );
    }
    this._isShowed = !this._isShowed;
}

需要特別注意的代碼點(diǎn)是:

start() {
    this.closeToLeftNode.getComponent(cc.Widget).updateAlignment();
}
  1. 需要在 start 中記錄初始和隱藏位置
  2. 如果節(jié)點(diǎn)用了 Widget 組件還需要手動(dòng)調(diào)用一次 updateAlignment()

這是因?yàn)槲覀儭?a href="http://www.reibang.com/p/738a8f6a2ec1" target="_blank">內(nèi)容適配」是在onLoad中設(shè)置懈万,子節(jié)點(diǎn)的寬高可能會(huì)沒(méi)有來(lái)得及更新,所以不能在onLoad中就記錄子節(jié)點(diǎn)的寬高泻蚊,需要在start生命周期中調(diào)用躲舌。同樣的因?yàn)樯厦婺嵌未a,我們是掛載在子節(jié)點(diǎn)更上一層的節(jié)點(diǎn)Canvas 上性雄,因此没卸,Canvas 節(jié)點(diǎn)上的 start 是會(huì)比子節(jié)點(diǎn)先調(diào)用,但是那時(shí)子節(jié)點(diǎn)的 Width 還沒(méi)有 updateAlignment() 秒旋,因此我們需要手動(dòng)調(diào)用一次约计。

2. 延伸說(shuō)明

可能并不會(huì)所有游戲都有這類(lèi)貼邊道具欄隱藏需求,這里的例子旨在和大家強(qiáng)調(diào)一個(gè)注意事項(xiàng):

采用 「重置節(jié)點(diǎn)寬高」 的內(nèi)容適配方案迁筛,如果需要實(shí)現(xiàn)動(dòng)作系統(tǒng)煤蚌,那么需要考慮節(jié)點(diǎn)寬高重置生效的時(shí)機(jī)。

3. 進(jìn)入下一章節(jié)

至此细卧,我們的「貼邊欄動(dòng)畫(huà)實(shí)現(xiàn)」基本告一段落了尉桩。如果文章有描述不清楚的或者錯(cuò)漏之處,歡迎留言或者指正或者贊賞贪庙。

pay.png

本系列教程指引:

  1. Cocos Creator 多分辨率完美適配系列-1(現(xiàn)狀與最終效果)
  2. Cocos Creator 多分辨率完美適配系列-2(部署驗(yàn)證設(shè)置)
  3. Cocos Creator 多分辨率完美適配系列-3(背景適配實(shí)現(xiàn))
  4. Cocos Creator 多分辨率完美適配系列-4(內(nèi)容適配實(shí)現(xiàn))
  5. Cocos Creator 多分辨率完美適配系列-5(貼邊欄動(dòng)畫(huà)實(shí)現(xiàn))
  6. ??Cocos Creator 多分辨率完美適配系列-6(劉海屏適配)
  7. Cocos Creator 多分辨率完美適配系列-7(封裝庫(kù)使用)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蜘犁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子止邮,更是在濱河造成了極大的恐慌沽瘦,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件农尖,死亡現(xiàn)場(chǎng)離奇詭異析恋,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)盛卡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)助隧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人滑沧,你說(shuō)我怎么就攤上這事并村。” “怎么了滓技?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵哩牍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我令漂,道長(zhǎng)膝昆,這世上最難降的妖魔是什么丸边? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮荚孵,結(jié)果婚禮上妹窖,老公的妹妹穿的比我還像新娘。我一直安慰自己收叶,他們只是感情好骄呼,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著判没,像睡著了一般蜓萄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澄峰,一...
    開(kāi)封第一講書(shū)人閱讀 49,816評(píng)論 1 290
  • 那天嫉沽,我揣著相機(jī)與錄音,去河邊找鬼摊阀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛踪蹬,可吹牛的內(nèi)容都是我干的胞此。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼跃捣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼漱牵!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起疚漆,我...
    開(kāi)封第一講書(shū)人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤酣胀,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后娶聘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體闻镶,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年丸升,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铆农。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狡耻,死狀恐怖墩剖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情夷狰,我是刑警寧澤岭皂,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站沼头,受9級(jí)特大地震影響爷绘,放射性物質(zhì)發(fā)生泄漏书劝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一揉阎、第九天 我趴在偏房一處隱蔽的房頂上張望庄撮。 院中可真熱鬧,春花似錦毙籽、人聲如沸洞斯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)烙如。三九已至,卻和暖如春毅否,著一層夾襖步出監(jiān)牢的瞬間亚铁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工螟加, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留徘溢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓捆探,卻偏偏與公主長(zhǎng)得像然爆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子黍图,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容