flash on 2009-6-14
♥0 |
Line 96 |
Modified 2009-06-14 18:16:09 |
MIT License
archived:2017-03-20 20:41:18
ActionScript3 source code
/**
* Copyright zsp ( http://wonderfl.net/user/zsp )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/whsL
*/
package {
import flash.display.Sprite;
import flash.events.Event;
[SWF(width = "465", height = "465", backgroundColor = "0x000000", frameRate = "60")]
public class FlashTest extends Sprite {
public function FlashTest() {
main = this;
initialize();
addEventListener(Event.ENTER_FRAME, update);
}
}
}
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.ColorTransform;
import flash.geom.Rectangle;
import flash.geom.Point;
const WND_W :int = 465;
const WND_H :int = 465;
const WND_HALF_W:int = WND_W/2;
const BALL_SIZE:int = 20;
var main:Sprite;
var screen_l :BitmapData = new BitmapData(WND_W,WND_H, false, 0);
var screen_r :BitmapData = new BitmapData(WND_HALF_W,WND_H, false, 0);
var balls:Vector.<Ball> = new Vector.<Ball>;
function initialize():void{
main.addChild(new Bitmap(screen_l));
var sl: Bitmap = new Bitmap(screen_r);
main.addChild(sl);
sl.x = WND_HALF_W;
drawBackground();
for (var i:int = 0; i<20; i++){
var b:Ball = new Ball();
balls.push(b);
}
}
function update(e:Event): void{
var i:int = balls.length;
while(i--){
balls[i].move();
}
}
function drawBackground():void{
var box_sz:int = 40;
for(var i:int = 0; i< 500; i++){
var x:int = Math.random()*WND_HALF_W;
var y:int = Math.random()*WND_H;
var c:int = Math.random()*0xFF;
var r:Rectangle = new Rectangle(x-box_sz/2, y-box_sz/2,box_sz,box_sz);
screen_l.fillRect(r,c);
screen_r.copyPixels(screen_l,new Rectangle(0,0,WND_HALF_W, WND_H), new Point(0,0), null,null,true);
}
}
class Ball{
public var x:Number;
public var y:Number;
public var z:Number;
public var vx:Number;
public var vy:Number;
public var vz:Number;
public var sp_l:Sprite;
public var sp_r:Sprite;
public function Ball(){
sp_l = new Sprite();
sp_l.graphics.beginFill(0xFFFFFF);
sp_l.graphics.drawCircle(0,0,8);
sp_l.graphics.endFill();
sp_r = new Sprite();
sp_r.graphics.beginFill(0xFFFFFF);
sp_r.graphics.drawCircle(0,0,8);
sp_r.graphics.endFill();
main.addChild(sp_l);
main.addChild(sp_r);
sp_r.x = 100;
x = 100;
y = 100;
z = 10;
vx = Math.random()*6-3;
vy = Math.random()*6-3;
vz = Math.random()*0.3;
}
public function move():void{
if(x<0 || WND_HALF_W<x) vx = -vx;
if(y<0 || WND_H<y) vy = -vy;
if(z<0 || 20<z) vz = -vz;
x +=vx;
y +=vy;
z +=vz;
sp_l.x = x- z;
sp_l.y = y;
sp_r.x = x+WND_HALF_W +z;
sp_r.y = y;
}
}