flash特效原理:粒子爆
鼠标按下的时候,生成200个粒子,粒子向不同的方向移动,从而产生一种像仙女散花的感觉。
下面是散开的效果,同样你可以为你的效果添加很多元素,包括引力,重力,摩擦力等等情况,但这部分就靠自己,还是需要自己想法出来
简单的做法,代码很少,涉及到运动的方向做法。效果看起来让我觉得惊讶,不过换来代价是卡卡卡,当我尝试换成1000个粒子的时候
则会产生很多问题,是由于生成的对象太多了,内存占用率很高,你可以测试一下。生成效果很不错。
基本思路:鼠标按下--》生成一定数量的粒子,粒子按随机的方向行走,行走一定的时候,就需要立刻对其删除,否则会产生内存问题。
看看下面的代码,做法很简单。只是觉得有一种不错的想法,暂时先把他记录下来。
粒子随机轨迹角度,则需要通过Math.atan2 进行计算,在flash里面这个方法可以为运动学创造带来很多方便。有兴趣的可以去测试一下。
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.
相关文档:
经过上面的测试,现在对原先程序进行一些改造可以创建出不错的效果,你会发现每次改动一些参数很多有趣的效果就会出现了。现在我们尝试做一个调节工具对他们的半径,高度,圈数,视角进行创造。这次会主要借助到flash里面 组件包。Slider 组件来帮助我们完成这一次的尝试。
制作过程知道:包括Slider 组件的使用,R ......
这一篇是临时的笔录,我们知道as3 是面向对象的语言,这种语言能够方便的封装好一些类,重用性得到加强。每一个人都有一套绝活,这些绝活就像武林当中每一派的武学那样。在平时的工作使用上,收集这些工具能够方便自己工作,也成为自己一套武学。
例如:adobe 核心类库 , 3d引擎类库,物理引擎类库 box2d , ......
ExternalInterface
ExternalInterface 类是外部 API,在 ActionScript 和 Flash Player 的容器之间实现直接通讯的应用程序编程接口,
例如,含有 JavaScript 的 HTML 页。 推荐对所有 JavaScript 与 ActionScript 之间的通信使用 ExternalInterface。
在 HTML 页中使用 JavaScript,可以调用 Flash Player 中的 Actio ......
我们引用本地flash,实现flash与js双向交互。
function thisMovie(movieName) {
if (window.document[movieName]){
return window.document[movieName];
}else if (navigator.appName.indexOf("Microsoft")==-1){
&nb ......
NASCAR和美国空军合作网站
全球生
物分类倡议项目 GTI Project
索尼与我
这个网站用数码相机记录了儿童成长的虚拟体验。
当
您在观看视频,您可以选择您喜欢的瞬间,并记录下来。
共和国的鸡蛋
共和国鸡蛋由四个志同道合的人组成,团结,努力建设一
个新的创意热店。
他们只有一个目标,就是积极推动中 ......