Flash 特效原理 震动效果
今天无聊中在百度看到一种效果叫震动效果。它可以应用在按钮上,也可以在窗口上。就好像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 特效原理 震动效果相关推荐
- flash特效原理 螺旋效果
很早之前尝试过3D效果也曾创建过这样的效果,现在使用CS4自身的能力去创建这种效果.在学习这种效果的时候,个人依旧强调效果背后的数学和物理原理,这些工具为我们创建效果带来帮助. Flash cs3 到 ...
- flash特效原理 螺旋效果 (3)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 最近对高 ...
- flash特效原理:图片滑动放大效果(2)
flash特效原理:图片滑动放大效果(1) http://blog.csdn.net/hero82748274/archive/2009/10/22/4715312.aspx 最近看了一些关于动态注册 ...
- flash特效原理 图片滑动放大效果 2
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! flas ...
- Flex: flash特效原理:标签云
http://blog.csdn.net/hero82748274/archive/2011/05/09/6407977.aspx Flex: flash特效原理:标签云
- Flash 特效原理:震动效果
今天无聊中在百度看到一种效果叫震动效果.它可以应用在按钮上,也可以在窗口上.就好像QQ那样震动.于是根据他们的想法,随手写了一个简单实现效果. 基本的办法,就是想办法改变他们X和Y坐标,让其进行变化. ...
- flash特效原理 图片滑动放大效果
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这几天, ...
- flash特效原理:图片滑动放大效果
这几天,都在无所事事,唯一寄托就是在这里记录一下自己研究出来的东西.趁现在有点时间,就把最近看过的一种常用的flash特效记录一下,flash 做特效不是为做特效而做,在make thing move ...
- flash特效原理:螺旋效果
很早之前尝试过3D效果也曾创建过这样的效果,现在使用CS4自身的能力去创建这种效果.在学习这种效果的时候,个人依旧强调效果背后的数学和物理原理,这些工具为我们创建效果带来帮助. Flash cs3 到 ...
- flash特效原理:螺旋效果 (3)
最近对高数起了很大的兴趣,掏钱买了一本高等数学.发现里面的真是一份宝物,最近看了一个人的博客.关于高等数学的知识,对螺旋线的形态原来不仅仅是一种.过去尝试制作的图形也是一种的方式,现在提及这种螺旋线不 ...
最新文章
- 怎样理解阻抗匹配?---非常好
- 嵌入式Linux下Camera编程--V4L2【转】
- CV:人工智能之计算机视觉方向的简介(CV发展史+常用数据集+CV职位)、传统方法对比CNN类算法、计算机视觉十大应用(知识导图+经典案例)之详细攻略
- Python入门教程以及资料免费下载
- 【CyberSecurityLearning 56】自动化注入
- 批量删除满足指定条件的 SAP CRM One Order 订单
- 全局预处理与执行,作用域与作用域链
- 腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践
- 「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块
- nodejs的koa中cookie和session的使用,cookie和session的区别
- javascript DOM对象转jquery对象
- 模板题——贪心(1)
- webpack配置路径及hash版本号,利用html-webpack-plugin自动生成html模板
- Python 信号处理——短时傅里叶变换(STFT)
- 微信营销诀窍:有朋自各方来
- A005:查找文件之find, locate, whereis, which, type
- HBase批量写入数据
- 黑苹果+win10双系统折腾笔记
- python要学多久才可以,python一般需要学多久
- 思科6509 引擎720-3BXL 更换风扇造成设备重启