Flash Tute : Lava Actionscript

สวยดีครับ รูปแบบคือเป็นก้อนกลมๆ ตก,ไหลลงมาเรื่อยๆ เอาไว้ทำดูสวยๆ
ลองมาดูวิธ๊ทำกันครับ
script ตามนี้เลยครับ

_root.createEmptyMovieClip(”container”,1);
container.filters=[new flash.filters.DropShadowFilter(3,0,0,1)]
var d = 1;
MovieClip.prototype.setHue = function(x, mc) {
 //x = 0 - 1
 x = Math.max(x*2*Math.PI, 0.01);
 r = Math.floor(128+128*Math.cos(x));
 g = Math.floor(128+128*Math.cos(x+Math.PI*2/3));
 b = Math.floor(128+128*Math.cos(x+Math.PI*4/3));
 var hex = r << 16 | g << 8 | b;
 this.colorobj.setRGB(hex);
 return hex;
};
function addCircle(r){
 var mc = container.attachMovie(”circle”,”c”+d,d++);
 mc._x=random(400);
 mc._y=random(250);
 mc.vx=mc.vy=0;
 mc._width=mc._height=r*2;
  mc.colorobj = new Color(mc.coloroverlay);
 mc.onPress=function(){
  this.pressed=true;
  }
 mc.onRelease=mc.onReleaseOutside=function(){
  this.pressed=false
  };
 var hex = mc.setHue(Math.random()/3);
 mc.filters=[new flash.filters.GlowFilter(hex,.3,30,30)];
 }
var frame = 0;
var windt =0 ;
function onEnterFrame(){
 frame++;
 windt+=.01;
 wind = .1*Math.sin(windt);
 for(var i in container){
  mc1 = container[i];
  if(typeof(mc1)!=”movieclip”)continue;
  for(var j in container){
   var mc2 = container[j];
   if(typeof(mc2)!=”movieclip” || mc2 == mc1)continue;
   var dx = mc2._x-mc1._x;
   var dy = mc2._y-mc1._y;
   var d = Math.sqrt(dx*dx+dy*dy);
   var d2 = (mc1._width/2+mc2._width/2)-d;
   var f = Math.min(20,1000/Math.pow(d,2));
   var fs = Math.min(10,Math.pow(d,1)/200);
   if(frame<5)fs=0
   if(d2>0){
    mc1._x-=dx/d*d2/2;
        mc1._y-=dy/d*d2/2;
        mc2._x+=dx/d*d2/2;
        mc2._y+=dy/d*d2/2;
    fr = d2*d2/10;
   }
   var fx = (f-fs)*(-dx/d)+wind;
   var fy = (f-fs)*(-dy/d)+.3;
   if(mc1.pressed){
    //trace(mc1._xmouse);
    fx+=mc1._xmouse/10;
    fy+=mc1._ymouse/10;
    }
   mc1.vx*=.9;
   mc1.vy*=.9;
   mc1.vx+=fx;
   mc1.vy+=fy;
   if(frame%8==0)
    mc1.filters=[new flash.filters.GlowFilter(mc1.setHue(mc1._y/300*.5),.3,50,50,1,1)];
  }
 }
 for(var i in container){
  var mc = container[i];
  mc._x+=mc.vx;
  mc._y+=mc.vy;
  if(mc._x>400+mc._width/2){mc._x=-mc._width/2;mc._y=-mc._width/2};  
  if(mc._y>250+mc._width/2){mc._y=-mc._width*2;mc._x=300-Math.random()*100}
  if(mc._x<-mc._width/2){mc._x=500+mc._width/2;mc._y=-mc._width/2};
  }
 }
for(var i =0;i<20;i++){
 addCircle(10+Math.random()*30);
}

แค่นี้ก็ได้ลาวาสวยๆจาก Flash แล้วครับ 

 Please enable Javascript and Flash to view this Flash video.

Download FLA: Flash Lava

Tags: ,

Leave a Reply