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.
相关文档:
转自:http://www.laolang.cn/back-end-develop/flash-builder-4-blazeds-db-application.html
1.使用Eclipse 建立一个Java Project。编写好远程服务类(如附件)。
2.下载Download the BlazeDS binary distribution,解压到tomcat的webapps目录下。下载flex-rds-server.jar,它是BlazeDS 4(开发中)中的一个包,是Bl ......
前几天一个3D项目上要运用到 方向箭头(鼠标往哪移,箭头就转动一定的角度指向哪)!!
demo: http://6921.ggii.net/swf/ok.swf
操作是: 按下鼠标,并且移动鼠标观察效果!
下面将其代码贴出来:
MC是箭头影片剪辑 实例为arro
Circle 是一个转动的园 按下鼠标,固定在按下点处 实例 circle
代码 ......
ExternalInterface
ExternalInterface 类是外部 API,在 ActionScript 和 Flash Player 的容器之间实现直接通讯的应用程序编程接口,
例如,含有 JavaScript 的 HTML 页。 推荐对所有 JavaScript 与 ActionScript 之间的通信使用 ExternalInterface。
在 HTML 页中使用 JavaScript,可以调用 Flash Player 中的 Actio ......
现在有个灵感,那就是通过鼠标拖动这些小球,鼠标移动的时候,那些小球会跟踪鼠标目标移动。这些只要使用flash 绘图API制作,
就能够完成;
第一步:随机创造一些小球
private function creatBall():void
{
for (var i:int=0; i<10; i++)
{
var ball:Ball=new Ball();
addChild(ball);
l ......