flash特效原理:图片滑动放大效果(3)

 滑动3

 

在之前制作的版本,由于没有引入缓冲的效果,看起来效果并不好,这一次修改一下,把之前的改造一下。有了缓冲的帮助,效果完善了很多

但是还是有内存的一些问题,让人觉得不爽。

改进办法,对每一张图片加入Event。EnterFrame 事件,每一帧刷新,这样的好处使动画变得连贯,但是不好的地方会导致内存使用过多

使用的时候需要特别小心。这次加入补间引擎结合,发觉效果真的不错。使用Tweener 作为补间使用,可以自己去下载测试。

 

 

基础类并没有改变

 

对RollPhoto进行改造。这个只是对X轴生效,暂时没有考虑到Y轴时候,日后会进行第四版本改造,离实用性还是差一定距离,日后有能力会继续延伸。

在这里类,加入补间应用。

 

 

这次代码和上次没有发生很多改变,仅仅只是改变了RollPhoto类。

 

myphoto.ActionListener(array,-array[0].height/2);//初始化监听

只是添加了这个。

 

制作这个demo过程:先外部加载图片,然后采取数组和容器管理,对每一张实现帧循环,这样动画会流畅很多,带来效果同时,如果不释放掉内存就引起内存不断增大,因此目前这个demo 只能是看,实用还没达到。

 

其他可以参考flash特效原理:图片滑动放大效果(1)(2)

 

在检测碰撞的时候,缓冲动画会一直在计算,导致内存增大其中原因之一。在设计的时候,有意在不监听的时候去除监听事件,这样会处理一部分内存,不知道有无更加好方案,或者这个设计方案一开始就存在缺陷。真的暂时还没解决到。

下面是一些代码清单,有兴趣可以玩啊。不过内存吃掉你的机器不要怪我 哈哈

 

 

 

 

下载第三版本测试demo:

 

 

 存在性能问题:依旧有待去解决

 

 

第二种办法:内存会减少一些,只实现一个EnterFrame事件

配合MouseEvent.MOUSE_MOVE 事件实现。可以自己测试一下。

为每一张图片都安装上EnterFrame 事件,他可以在每一帧刷新的时候执行,呈现同步的过程

优点:动画效果更加好,缺点内存不断消耗,进行一些不好的运算

 

只是在一帧的情况使用for循环。对每一张图片进行缩放和位置定位,会出现到先后的顺序。

function Run(e:Event):void

{

   for(i)

  {

     //执行行为

  }

}

这种情况出现是动画不流畅,但是内存没有那么大。

 

总的来讲,这个demo 还没算好,离应用还是有很多距离。内存使用问题没解决好。盼望日后会继续跟踪这个问题。

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值