必威体育Betway必威体育官网
当前位置:首页 > IT技术

flash特效原理 粒子爆

时间:2019-07-19 13:12:11来源:IT技术作者:seo实验室小编阅读:75次「手机版」
 

flash特效

粒子爆

鼠标按下的时候,生成200个粒子,粒子向不同的方向移动,从而产生一种像仙女散花的感觉。

下面是散开的效果,同样你可以为你的效果添加很多元素,包括引力,重力,摩擦力等等情况,但这部分就靠自己,还是需要自己想法出来

21

简单的做法,代码很少,涉及到运动的方向做法。效果看起来让我觉得惊讶,不过换来代价是卡卡卡,当我尝试换成1000个粒子的时候

则会产生很多问题,是由于生成的对象太多了,内存占用率很高,你可以测试一下。生成效果很不错。

基本思路:鼠标按下--》生成一定数量的粒子,粒子按随机的方向行走,行走一定的时候,就需要立刻对其删除,否则会产生内存问题。

看看下面的代码,做法很简单。只是觉得有一种不错的想法,暂时先把他记录下来。

粒子随机轨迹角度,则需要通过Math.atan2 进行计算,在flash里面这个方法可以为运动学创造带来很多方便。有兴趣的可以去测试一下。

其中:Ball 为通过库链接的链接过来的影片剪辑,因此在创建这个程序的时候,可以在元件库里面 自行添加进去,尝试更改粒子的样貌,这样效果会呈现出不同的形态。

ball类

这个只是一个元件,缩放元件的大小,产生的效果也不一样,周边的白色边,加上一些高光的效果,就能够发挥出不错的夜光性。

(由于上传图片 太麻烦,只能在最近才修改这些。 上传日期:1月27日)

再对其进行修正,粒子的轨迹也可以是不按随机的,也可以按随机的方向。这样不同的做法,效果看起来会更加不错,相信你会创建出很多很多绚丽的特效,而这些事情就需要去完善。

package {import flash.display.MovieClip;import flash.display.DisplayObject;import flash.events.*;public class Main extends MovieClip{//private var list:Array=new Array();//管理粒子//private var speed:int=5;private var contain:MovieClip=new MovieClip();//容器管理粒子public function Main(){init();}private function init():void{addChild(contain);stage.addeventlistener(MouseEvent.MOUSE_DOWN,MouseDownhandler);}//生成粒子,200个小球,然后向不同的方向移动,速度不一样,角度也不样private function MouseDownHandler(event:MouseEvent):void{for (var i:int=0; i<200; i++){var ball:Ball=new Ball();contain.addChild(ball);ball.x=mouseX;ball.y=mouseY;ball.vx=Math.random()*4+2;//随机生成不同的x速度ball.vy=Math.random()*5+2;//随机生成不同的y速度//ball.alpha=Math.random()+0.1;var angle:Number=Math.atan2(Math.random()*400-ball.y,Math.random()*550-ball.x);//随机一个角度ball.angle=angle;ball.addEventListener(Event.ENTER_FRAME,BallMove);//list.push(ball);}}//每一个粒子的移动private function BallMove(event:Event):void{event.currentTarget.x+=Math.cos(event.currentTarget.angle)*event.currentTarget.vx;event.currentTarget.y+=Math.sin(event.currentTarget.angle)*event.currentTarget.vy; //drawLine(mouseX,mouseY,event.currentTarget.x,event.currentTarget.y);if (event.currentTarget.y<0 || event.currentTarget.y>stage.stageHeight||event.currentTarget.x<0 || event.currentTarget.x>stage.stageWidth){event.currentTarget.removeEventListener(Event.ENTER_FRAME,BallMove);contain.removeChild(DisplayObject(event.currentTarget));}}//绘制线条,这个方法你可以尝试一下,private function drawLine(x1,y1,x2,y2:Number):void{graphics.clear();graphics.lineStyle(1,0xff0000);for (var i:int=0; i<=contain.numchildren; i++){graphics.moveTo(x1,y1);graphics.lineTo(contain.getChildAt(i).x,contain.getChildAt(i).y);}}}}

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

相关阅读

HTML特效代码大全(完整)

1.贴图:<img src="图片地址">2.加入连接:<a href="所要连接的相关地址">写上你想写的字</a> 3.在新窗口打开连接:<a href="相关地址"

抖音翅膀特效在哪?

抖音翅膀特效中的翅膀样式有很多,想要拍摄黑色的翅膀,该怎么拍摄呢?下面我们就来看看详细的教程。1、打开抖音2、点击&rdquo;+&ldquo

AE怎么制作旋转万花筒特效?

以前很喜欢万花筒,旋转的万花筒效果是一个比较好玩的效果,想要使用AE中制作这个旋转的万花筒的效果动画,下面我们就来看看ae制作万花

根除脚气特效药哪个比较好(这个小秘方帮你搞定)

夏天,注定是不平凡的一个季节,脸、油渍难当,背、痘痘横生,最严肃的莫过于脚,脚气肆意!所谓阻挡我们前进的不是多大的艰难险阻,而是脚下那

如何用Sony vegas编辑视频特效?

当我们将一段素材导入到sony vegas的视频或音频轨道时,会出现两个较为特殊的标志,一个类似正方形为素材平移标志,另一个十字架的为素

分享到:

栏目导航

推荐阅读

热门阅读