? ? ? ? ?1.這是一個實現(xiàn)彈幕效果的demo, 通過使用xcode 的instrument 的調(diào)試工具發(fā)現(xiàn) CoreAnimationFrame PerSecond(幀數(shù)) 基本在59左右,是因為把原來的動畫效果改成了UIView 的顯示動畫來實現(xiàn),而不是原來的不斷的重繪 每一個lable ,其實發(fā)現(xiàn)系統(tǒng)的UiView 動畫還是很高效的至少幀數(shù)很穩(wěn)定,基本上那個不會卡頓。
? ? ? ? ?2.代碼結(jié)構(gòu) mvc 結(jié)構(gòu), 使用了工程模式,util 模塊里的DanmakuFactory 來創(chuàng)建模型類DanmakuBaseModel ,Render 模塊主要負責(zé)功能的核心實現(xiàn),負責(zé)實現(xiàn)動畫效果,開始,暫停,DanmakuRetainer 類,專門負責(zé)處理每個label 的起始位置,以及動畫的布局。
? ? ? ? ?3. DanmakuView 的初始化方法有一個單獨的 屬性類DanmakuConfiguration,關(guān)系到彈幕的區(qū)域,時間等屬性,然后通過代理委托供外提供擴展動畫的速度,動畫結(jié)束回調(diào)