今天无聊中在百度看到一种效果叫震动效果。它可以应用在按钮上,也可以在窗口上。就好像QQ那样震动。于是根据他们的想法,随手写了一个简单实现效果。

基本的办法,就是想办法改变他们X和Y坐标,让其进行变化。

初步思路:

在时间器下

contain.x=startX+随机数;

contain.y=startY+随机数;

在时间的变化下,产生时间动画。contain.x 和contain.y 就会产生变化过程。

贴上一张演示图,我们在舞台上,创建一些的按钮和元件。当鼠标经过表面的时候,开始动画,离开的时候结束动画并返回位置

下面封装一个类

//震动效果package org.summerTree.effect{ import flash.display.*; import flash.utils.Timer; import flash.utils.Dictionary; import flash.events.*; public class ShakeEffect {  private var timer:Timer;  private var deley:Number;  private var startX:Number;  private var startY:Number;  private var para:Number;//震动的参数  private var m_contain:Dictionary;  private var currentID:String;  public function ShakeEffect(deley:Number=100,para:Number=5)  {   m_contain=new Dictionary(true);   this.deley=deley;   this.para=para;   timer=new Timer(deley);   timer.addEventListener(TimerEvent.TIMER,onTimer);  }  /* 添加列表   *   *    */    public function addList(id:String,obj:*):void  {   m_contain[id]=obj;  }  private function onTimer(event:TimerEvent):void  {   moveBy();  }  public function start(id:String):void  {   startX=getObject(id).x;   startY=getObject(id).y;   currentID=id;   timer.start();  }  private function getObject(id:String):*  {   return m_contain[id];  }  public function stop():void  {   timer.stop();   getObject(currentID).x=startX;   getObject(currentID).y=startY;  }  public function destory():void  {   timer.removeEventListener(TimerEvent.TIMER,onTimer);  }  public function reStart():void  {   timer=new Timer(deley);   timer.addEventListener(TimerEvent.TIMER,onTimer);  }  //  private function moveBy():void  {   getObject(currentID).x=startX+Math.random()*para;   getObject(currentID).y=startY+Math.random()*para;  } }}

演示:

在舞台上,添加一些影片剪辑。改名为mc1----mc6。在使用的时候,我们添加他们名称和元件名称。

创建一个ShakeEffect类,然后写上一个时间延时。将需要添加震动效果的按钮加上去。

addList(id,对象)

(注意 Timer 执行的快慢取决于帧速或flash环境等因数,每次调用的时候会有偏差。)

效果很容易出来了。

下载demo

import org.summerTree.effect.ShakeEffect;var shake:ShakeEffect=new ShakeEffect(60);shake.addList(mc1.name,mc1);shake.addList(mc2.name,mc2);shake.addList(mc3.name,mc3);shake.addList(mc4.name,mc4);shake.addList(mc5.name,mc5);shake.addList(mc6.name,mc6);mc1.addEventListener(MouseEvent.MOUSE_OVER,onOver);mc2.addEventListener(MouseEvent.MOUSE_OVER,onOver);mc3.addEventListener(MouseEvent.MOUSE_OVER,onOver);mc4.addEventListener(MouseEvent.MOUSE_OVER,onOver);mc5.addEventListener(MouseEvent.MOUSE_OVER,onOver);mc6.addEventListener(MouseEvent.MOUSE_OVER,onOver);function onOver(event:MouseEvent):void{ shake.start(event.currentTarget.name);}mc1.addEventListener(MouseEvent.MOUSE_OUT,onOut);mc2.addEventListener(MouseEvent.MOUSE_OUT,onOut);mc3.addEventListener(MouseEvent.MOUSE_OUT,onOut);mc4.addEventListener(MouseEvent.MOUSE_OUT,onOut);mc5.addEventListener(MouseEvent.MOUSE_OUT,onOut);mc6.addEventListener(MouseEvent.MOUSE_OUT,onOut);function onOut(event:MouseEvent):void{ shake.stop();}

累了,明天继续修改,加油!

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

Flash 特效原理 震动效果相关推荐

  1. flash特效原理 螺旋效果

    很早之前尝试过3D效果也曾创建过这样的效果,现在使用CS4自身的能力去创建这种效果.在学习这种效果的时候,个人依旧强调效果背后的数学和物理原理,这些工具为我们创建效果带来帮助. Flash cs3 到 ...

  2. flash特效原理 螺旋效果 (3)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 最近对高 ...

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

    flash特效原理:图片滑动放大效果(1) http://blog.csdn.net/hero82748274/archive/2009/10/22/4715312.aspx 最近看了一些关于动态注册 ...

  4. flash特效原理 图片滑动放大效果 2

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! flas ...

  5. Flex: flash特效原理:标签云

    http://blog.csdn.net/hero82748274/archive/2011/05/09/6407977.aspx Flex: flash特效原理:标签云

  6. Flash 特效原理:震动效果

    今天无聊中在百度看到一种效果叫震动效果.它可以应用在按钮上,也可以在窗口上.就好像QQ那样震动.于是根据他们的想法,随手写了一个简单实现效果. 基本的办法,就是想办法改变他们X和Y坐标,让其进行变化. ...

  7. flash特效原理 图片滑动放大效果

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这几天, ...

  8. flash特效原理:图片滑动放大效果

    这几天,都在无所事事,唯一寄托就是在这里记录一下自己研究出来的东西.趁现在有点时间,就把最近看过的一种常用的flash特效记录一下,flash 做特效不是为做特效而做,在make thing move ...

  9. flash特效原理:螺旋效果

    很早之前尝试过3D效果也曾创建过这样的效果,现在使用CS4自身的能力去创建这种效果.在学习这种效果的时候,个人依旧强调效果背后的数学和物理原理,这些工具为我们创建效果带来帮助. Flash cs3 到 ...

  10. flash特效原理:螺旋效果 (3)

    最近对高数起了很大的兴趣,掏钱买了一本高等数学.发现里面的真是一份宝物,最近看了一个人的博客.关于高等数学的知识,对螺旋线的形态原来不仅仅是一种.过去尝试制作的图形也是一种的方式,现在提及这种螺旋线不 ...

最新文章

  1. 怎样理解阻抗匹配?---非常好
  2. 嵌入式Linux下Camera编程--V4L2【转】
  3. CV:人工智能之计算机视觉方向的简介(CV发展史+常用数据集+CV职位)、传统方法对比CNN类算法、计算机视觉十大应用(知识导图+经典案例)之详细攻略
  4. Python入门教程以及资料免费下载
  5. 【CyberSecurityLearning 56】自动化注入
  6. 批量删除满足指定条件的 SAP CRM One Order 订单
  7. 全局预处理与执行,作用域与作用域链
  8. 腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践
  9. 「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块
  10. nodejs的koa中cookie和session的使用,cookie和session的区别
  11. javascript DOM对象转jquery对象
  12. 模板题——贪心(1)
  13. webpack配置路径及hash版本号,利用html-webpack-plugin自动生成html模板
  14. Python 信号处理——短时傅里叶变换(STFT)
  15. 微信营销诀窍:有朋自各方来
  16. A005:查找文件之find, locate, whereis, which, type
  17. HBase批量写入数据
  18. 黑苹果+win10双系统折腾笔记
  19. python要学多久才可以,python一般需要学多久
  20. 思科6509 引擎720-3BXL 更换风扇造成设备重启

热门文章

  1. LS1046A 环境搭建-LSDK快速搭建
  2. 计算机word的关闭怎么办,为什么我的计算机word文档打开和关闭缓慢
  3. Apache Rewrite 详解 RewriteBase
  4. gazebo教程(八)场景建模
  5. JDK1.6支持TSL1.2协议
  6. B001 - 基于STM32的智能生态鱼缸
  7. android打包绕过签名,实战android打包和签名
  8. 机器学习中的数学——距离定义(二十二):海林格距离(Hellinger Distance)
  9. js标准时间转换为时间戳
  10. 基于STM32F103的单相在线式不间断电源设计