亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

章節
問答
課簽
筆記
評論
占位
占位

小男孩動作分解

場景B中涉及的動作比較多,然后動作之間都是有交叉的,所以在流程上需要有一定的控制。所以會針對所有動作進行單獨的分解,這個單獨拆分出小男孩動作做講解

參考右邊代碼pageB.js的實現,代碼需要結合pageB.js與pageB.css一起看,整體的代碼都封裝了單列對象boyAction上,走路的實現同樣是transition+精靈圖的組合,針對這樣的異步流程代碼,繼續采用了Deferred對流程封裝

動作分4部分:

  1. 小男孩從右邊走出來的動作
  2. 小男孩解開包裹拿出禮物的動作
  3. 在3d旋轉中脫衣的動作
  4. 轉身擁抱的動作

小男孩取至一張15幀的精靈圖,為了保持自適應縮放會在x軸上放大15倍,通過百分比切換x軸的坐標達到走路切換的效果。

針對四個動作的實現分解:

走路的實現已經是老套路了,boyAction.walk方法中通過transition控制元素的right值的變化,這樣讓元素產生動的效果,結合css中定義的boy-walk類的精靈動作切換

解開包裹拿出禮物同樣是2張圖片組合切換,通過動態增加boy-unwrapp樣式處理,樣式中注意一個問題,動畫的停留狀態,需要設置forwards讓動作保持在最后一張圖上,解開包裹的動作通過css3動畫處理的,那么這就是異步,如果后續的動作要連接上,需要就監聽這個動作,通過one給元素綁定animationEnd監聽事件(one只綁定一次)

在3d旋轉動脫衣的動作,是有3個圖的切換,在strip方法中,動態的傳遞一個變量,來添加對應的樣式文件

人物擁抱處理中,處理用了幀動畫的,還有注意圖層的重疊問題,所以單獨用一個節點做了頭部。在擁抱結束后顯示這個頭部元素

任務

在pageB.js文件代碼中19行填寫任務代碼

任務

小男孩從右邊走出來,走到right=4.5rem的位置,耗時4000毫秒

注意:

1. 通過$.Deferred編寫異步代碼,能夠讓后續的動作then方法銜接得上

2.可以通transition讓元素運用

3.注意動畫回調的監聽

?不會了怎么辦

            var dfd = $.Deferred();
            $boy.transition({
                "right": "4.5rem"
            }, 4000, "linear", function() {
                dfd.resolve()
            });
            return dfd;

||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態

舉報

0/150
提交
取消
全部 精華 我要發布
全部 我要發布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?