加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

图片过渡效果一例 使用bitmapData操作

发布时间:2020-12-15 18:35:43 所属栏目:百科 来源:网络整理
导读:?源文件找不到了,反编了一份. 效果参见附件: package ?com.dante? {? ???? import ?com.greensock.*;? ???? import ?flash.display.*;? ???? import ?flash.events.*;? ???? import ?flash.filters.*;? ???? import ?flash.geom.*;? ? ???? public ? class ?

?源文件找不到了,反编了一份.

效果参见附件:

 
 
  1. package?com.dante?
  2. {?
  3. ????import?com.greensock.*;?
  4. ????import?flash.display.*;?
  5. ????import?flash.events.*;?
  6. ????import?flash.filters.*;?
  7. ????import?flash.geom.*;?
  8. ?
  9. ????public?class?BitmapMotionEngine?extends?EventDispatcher?
  10. ????{?
  11. ????????private?var?bitmapDataOld:BitmapData;?
  12. ????????private?var?bitmapDataNew:BitmapData;?
  13. ????????private?var?bitmapDataTarget:BitmapData;?
  14. ????????private?var?duration:Number?=?1.5;?
  15. ????????private?var?tween:TweenLite;?
  16. ????????private?var?blurOld:BitmapData;?
  17. ????????private?var?blurNew:BitmapData;?
  18. ????????private?var?motionComplete:Boolean?=?true;?
  19. ?
  20. ????????public?function?BitmapMotionEngine()?
  21. ????????{?
  22. ????????????return;?
  23. ????????}//?end?function?
  24. ?
  25. ????????public?function?startMotion(param1:BitmapData,?param2:BitmapData,?param3:BitmapData)?:?void?
  26. ????????{?
  27. ????????????if?(this.motionComplete)?
  28. ????????????{?
  29. ????????????????this.bitmapDataNew?=?param2.clone();?
  30. ????????????????this.bitmapDataOld?=?param1.clone();?
  31. ????????????????this.bitmapDataTarget?=?param3;?
  32. ????????????????this.blurNew?=?this.bitmapDataNew.clone();?
  33. ????????????????this.blurNew.applyFilter(this.blurNew,?this.blurNew.rect,?new?Point(),?new?BlurFilter(70,?70,?1));?
  34. ????????????????this.blurOld?=?this.bitmapDataOld.clone();?
  35. ????????????????this.blurOld.applyFilter(this.blurOld,?this.blurOld.rect,?1));?
  36. ????????????????this.tween?=?TweenLite.to(this,?this.duration,?{onUpdate:this.update,?onComplete:this.onMotionComplete});?
  37. ????????????}?
  38. ????????????return;?
  39. ????????}//?end?function?
  40. ?
  41. ????????private?function?onMotionComplete()?:?void?
  42. ????????{?
  43. ????????????this.blurNew.dispose();?
  44. ????????????this.blurOld.dispose();?
  45. ????????????this.bitmapDataNew.dispose();?
  46. ????????????this.bitmapDataOld.dispose();?
  47. ????????????this.motionComplete?=?true;?
  48. ????????????this.dispatchEvent(new?Event(Event.COMPLETE));?
  49. ????????????return;?
  50. ????????}//?end?function?
  51. ?
  52. ????????private?function?update()?:?void?
  53. ????????{?
  54. ????????????var?_loc_1:*?=?this.tween.currentTime?/?this.duration;?
  55. ????????????var?_loc_2:*?=?new?ColorTransform(1,?1,?_loc_1);?
  56. ????????????this.bitmapDataOld.merge(this.blurOld,?this.bitmapDataNew.rect,?_loc_1?*?256,?256);?
  57. ????????????this.blurNew.merge(this.bitmapDataNew,?this.bitmapDataOld.rect,?256);?
  58. ????????????this.bitmapDataTarget.draw(this.bitmapDataNew,?null,?new?ColorTransform(1,?Math.pow(_loc_1,?2)));?
  59. ????????????this.bitmapDataTarget.draw(this.bitmapDataOld,?Math.pow(1?-?_loc_1,?2)));?
  60. ????????????return;?
  61. ????????}//?end?function?
  62. ?
  63. ????}?
  64. }?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读