code on 2008-12-18 author Haramakoto import caurina.transitions.Tweener; HaraMakoto forked:1favorite:5lines:100license : All rights reserved modified : 2008-12-22 17:39:13 Embed Tweet // write as3 code here.. package { /** * author Haramakoto */ import flash.display.Sprite; import flash.display.Shape; import flash.display.Graphics; //import caurina.transitions.Tweener; import flash.events.Event; import flash.display.BitmapData; import flash.display.Bitmap; import flash.geom.ColorTransform; import flash.geom.Rectangle; [SWF(width="465", height="465", background="0x000000", frameRate="30")] public class testAS extends Sprite { private var circleMC:Sprite = new Sprite(); private var counter:uint = 0; private var particleArray:Array = new Array(); //particle入れる配列 private var pNum:uint = 50; private var pBodySize:Number = 4; private var bkRect:Sprite = new Sprite(); private var base:Sprite = new Sprite(); private var bmpData:BitmapData; private var bmp:Bitmap; private var rect:Rectangle; private var tonedown:ColorTransform; public function testAS() { bmpData = new BitmapData(465, 465, true, 0xFFFFFF); bmp = new Bitmap( bmpData ); tonedown = new ColorTransform(2.2, 1, 1.7, 0.9); rect = new Rectangle(0, 0, 465, 465); setbkRect(); //addChild( bkRect ); initParticles(); addChild( bmp ); addChild( base ); addEventListener( Event.ENTER_FRAME, _onEnterFrame ); } private function setbkRect():void { bkRect.graphics.beginFill( 0x000000, 1 ); bkRect.graphics.drawRect( 0, 0, 465, 465); bkRect.graphics.endFill(); } private function initParticles():void { for( var i:uint=0; i<pNum; i++ ) { var particle:Object = _oneParticle(); base.addChild( particle.body ); particle.body.x = 200 * Math.random(); particle.body.y = 200 * Math.random(); particleArray.push( particle ); } } private function draw_a_Circle(mc:Sprite):void { var shape:Shape = new Shape(); var g:Graphics = shape.graphics; g.lineStyle (1, 0x666666, 1.0); g.drawCircle(0, 0, 10); mc.addChild( shape ); } private function _oneParticle():Object { var partiObj:Object = new Object(); partiObj.vx = partiObj.vy = 0; //速度 partiObj.ax = partiObj.ay = 0; //加速度 partiObj.r = 360 * Math.random(); //進行方向角度 partiObj.cnt = 0; //カウンター var oneParticle:Sprite = new Sprite(); partiObj.body = oneParticle; oneParticle.graphics.beginFill(0xFFFFFF * Math.random(), 1); oneParticle.graphics.drawCircle(-pBodySize/2, pBodySize, pBodySize); oneParticle.graphics.endFill(); return partiObj; } private function _onEnterFrame(e:Event):void { for( var i:uint=0; i<pNum; i++ ) { particleArray[i].cnt += 5 * Math.random(); particleArray[i].r += Math.cos( particleArray[i].cnt * Math.PI / 180 ); particleArray[i].vx = 2 * Math.cos(particleArray[i].r * Math.PI / 180); particleArray[i].vy = 2 * Math.sin(particleArray[i].r * Math.PI / 180); particleArray[i].body.x += particleArray[i].vx; particleArray[i].body.y += particleArray[i].vy; bounceEdge( particleArray[i] ); } bmpData.colorTransform(rect, tonedown); bmpData.draw(base); counter += 1; } /** * 端に行ったら跳ね返る処理 */ private function bounceEdge(obj:Object):void { if( obj.body.x > 465 ) obj.r = obj.r + 90; if( obj.body.x < 0 ) obj.r = obj.r + 90; if( obj.body.y > 465 ) obj.r = obj.r + 90; if( obj.body.y < 0 ) obj.r = obj.r + 90; } } } Code Fullscreen Preview Fullscreen ijeoma zmaxlin : fadelinetracking Kevin_Yin : fadeparticles鱼塘可能可用 fokhei : particle hacker_wfcn4.. : borderhitpointsstage border fade hit line particle particles points stage tracking Object Math.random addEventListener Rectangle Math.PI Math.cos push uint Math.sin Event.ENTER_FRAME Array Bitmap Event Number sort new page view favorite forked pv306 forked from: code on 2008-12-1.. hacker_reggie forked:0 favorite:0lines:100 (diff:8)