Frame 2
stop();
_root.engine = new Demo();
this.onEnterFrame = function () {
_root.engine.update();
};
Symbol 9 Button
on (release) {
getURL ("http://www.newgrounds.com", "blank");
}
Symbol 14 Button
on (release) {
_root.play();
}
Symbol 15 MovieClip Frame 1
_root.stop();
PercentLoaded = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100;
if (PercentLoaded != 100) {
bar._xscale = PercentLoaded;
} else {
gotoAndStop ("loaded");
}
Symbol 15 MovieClip Frame 2
_root.play();
gotoAndPlay (1);
Symbol 17 MovieClip [__Packages.Demo] Frame 0
class Demo
{
var viewX, viewY, currDemo, myFader, myParticles, myElectricity, mainContainer, WORLD;
function Demo () {
viewX = 320;
viewY = 240;
createWorld();
currDemo = new Cube3D();
myFader = new MotionFader();
myParticles = new ParticleSystem();
myElectricity = new Electricity();
}
function update() {
currDemo.update();
myFader.update();
myParticles.update();
myElectricity.update();
}
function createWorld() {
mainContainer = setUpContainer(_root, new flash.geom.Point(0, 0));
_global.mainFrame = mainContainer;
WORLD = setUpContainer(mainContainer, new flash.geom.Point(0, 0));
WORLD._xscale = 100;
WORLD._yscale = 100;
_global.wclip = WORLD;
setUpViewwindow(WORLD, 0, 0, viewX, viewY);
}
function setUpViewwindow(target_clip, px, py, pw, ph) {
var _local1 = new flash.geom.Rectangle(px, py, pw, ph);
target_clip.scrollRect = _local1;
}
function setUpContainer(target_clip, offset) {
var _local1 = target_clip.createEmptyMovieClip("container100", target_clip.getNextHighestDepth());
_local1._x = offset.x;
_local1._y = offset.y;
return(_local1);
}
}
Symbol 18 MovieClip [__Packages.MotionFader] Frame 0
class MotionFader
{
var myMatrix, translateMatrix, myColorTransform, blendMode1, blendMode2, myRectangle, smooth, alphaMode, bData, blackData, dClip;
function MotionFader () {
myMatrix = new flash.geom.Matrix();
myMatrix.rotate(0);
translateMatrix = new flash.geom.Matrix();
translateMatrix.translate(0, 0);
myMatrix.concat(translateMatrix);
myColorTransform = new flash.geom.ColorTransform();
blendMode1 = "normal";
blendMode2 = "normal";
myRectangle = new flash.geom.Rectangle(0, 0, Stage.width, Stage.height);
smooth = true;
alphaMode = getAlpha(20);
createBase();
}
function getAlpha(num) {
var _local1 = ((!num) ? "00" : (num.toString(16)));
return(("0x" + _local1) + "000000");
}
function createBase() {
bData = new flash.display.BitmapData(Stage.width, Stage.height, false, 0);
blackData = new flash.display.BitmapData(Stage.width, Stage.height, true, alphaMode);
dClip = _root.createEmptyMovieClip("fader", _root.getNextHighestDepth());
dClip._alpha = 100;
dClip.attachBitmap(bData, 1, "auto", false);
}
function update() {
bData.draw(blackData, myMatrix, myColorTransform, blendMode2, myRectangle, smooth);
bData.draw(_global.mainFrame, myMatrix, myColorTransform, blendMode1, myRectangle, smooth);
}
}
Symbol 19 MovieClip [__Packages.ParticleSystem] Frame 0
class ParticleSystem
{
var displayClip, blurAmount, numPart, GEFORCE;
function ParticleSystem () {
displayClip = _global.wclip.createEmptyMovieClip("thePrlt", 2);
displayClip._x = 0;
displayClip._y = 0;
blurAmount = 20;
numPart = 2;
GEFORCE = 0.5;
}
function getColour() {
var _local2 = random(256);
var _local3 = random(256);
var _local1 = random(256);
var _local5 = ((!_local2) ? "00" : (_local2.toString(16)));
var _local4 = ((!_local3) ? "00" : (_local3.toString(16)));
var _local6 = ((!_local1) ? "00" : (_local1.toString(16)));
return((("0x" + _local5) + _local4) + _local6);
}
function particles1() {
var _local2 = 0;
while (_local2 < numPart) {
createParticle1(random(Stage.width), random(Stage.height), random(3));
_local2++;
}
}
function createParticle1(px, py, shapeType) {
var tp = displayClip.createEmptyMovieClip("gradient_mc" + displayClip.getNextHighestDepth(), displayClip.getNextHighestDepth());
var col = getColour();
with (tp) {
beginFill(col);
switch (shapeType) {
case 0 :
moveTo(200, 200);
lineTo(300, 300);
lineTo(100, 300);
lineTo(200, 200);
break;
case 1 :
moveTo(0, 0);
lineTo(0, 100);
lineTo(100, 100);
lineTo(100, 0);
lineTo(0, 0);
break;
case 2 :
moveTo(0, 100);
curveTo(0, 200, 100, 200);
curveTo(200, 200, 200, 100);
curveTo(200, 0, 100, 0);
curveTo(0, 0, 0, 100);
}
endFill();
}
var blurX = blurAmount;
var blurY = blurAmount;
var qual = 1;
var filter = (new flash.filters.BlurFilter(blurX, blurY, qual));
var filterArray = new Array();
filterArray.push(filter);
tp.filters = filterArray;
tp._xscale = (tp._yscale = 4);
tp._x = px;
tp._y = py;
tp.vx = -5 + random(10);
tp.vy = -5 + random(10);
tp.rot = -2 + random(4);
tp._alpha = 70;
tp.grav = true;
tp.cacheAsBitmap = true;
}
function particles2() {
var _local3 = new flash.geom.Point(random(Stage.width), random(Stage.height));
var _local2 = 0;
while (_local2 < numPart) {
createParticle2(_local3.x, _local3.y);
_local2++;
}
}
function createParticle2(px, py) {
var tp = displayClip.createEmptyMovieClip("gradient_mc" + displayClip.getNextHighestDepth(), displayClip.getNextHighestDepth());
with (tp) {
beginFill(16777173);
moveTo(0, 100);
curveTo(0, 200, 100, 200);
curveTo(200, 200, 200, 100);
curveTo(200, 0, 100, 0);
curveTo(0, 0, 0, 100);
endFill();
}
var blurX = (blurAmount / 2);
var blurY = (blurAmount / 2);
var qual = 1;
var filter = (new flash.filters.BlurFilter(blurX, blurY, qual));
var filterArray = new Array();
filterArray.push(filter);
tp.filters = filterArray;
tp._xscale = (tp._yscale = (1 + random(4)) / 2);
tp._x = px;
tp._y = py;
tp.vx = -5 + random(10);
tp.vy = -5 + random(10);
tp.cacheAsBitmap = true;
}
function update() {
particles1();
particles2();
for (var _local3 in displayClip) {
var _local2 = displayClip[_local3];
_local2._x = _local2._x + _local2.vx;
_local2._y = _local2._y + _local2.vy;
if (_local2.grav) {
_local2.vy = _local2.vy + GEFORCE;
_local2._rotation = _local2._rotation + _local2.rot;
}
_local2._alpha = _local2._alpha - 5;
if ((_local2._y > Stage.height) || (_local2._alpha < 1)) {
_local2.removeMovieClip();
}
}
}
}
Symbol 20 MovieClip [__Packages.Electricity] Frame 0
class Electricity
{
var num1, num2, thickNess, moveUp, fixed, tick, moveClip, displayClip, myPoints;
function Electricity () {
num1 = 70;
num2 = 100;
thickNess = 2;
moveUp = false;
fixed = true;
tick = 100;
moveClip = _global.wclip.createEmptyMovieClip("theScene2", 3);
moveClip._x = Stage.width / 2;
moveClip._y = Stage.height / 2;
displayClip = moveClip.createEmptyMovieClip("effect", 1);
displayClip._x = (-Stage.width) / 2;
displayClip._y = (-Stage.height) / 2;
var _local7 = 10;
var _local6 = 10;
var _local5 = 1;
var _local4 = new flash.filters.BlurFilter(_local7, _local6, _local5);
var _local3 = new Array();
_local3.push(_local4);
displayClip.filters = _local3;
displayClip._alpha = 95;
}
function createPoints() {
myPoints = new Array(0);
var _local2 = -10;
var _local3;
myPoints.push(new flash.geom.Point(-10, Stage.height / 2));
while (_local2 < (Stage.width - 20)) {
_local2 = _local2 + (random(num1) + 1);
_local3 = ((Stage.height / 2) - (num2 / 2)) + random(num2);
myPoints.push(new flash.geom.Point(_local2, _local3));
}
myPoints.push(new flash.geom.Point(Stage.width + 10, Stage.height / 2));
}
function drawIt() {
displayClip.clear();
displayClip.lineStyle(thickNess, 15662079, 100);
displayClip.moveTo(myPoints[0].x, myPoints[0].y);
var _local2 = 1;
while (_local2 < myPoints.length) {
displayClip.lineTo(myPoints[_local2].x, myPoints[_local2].y);
_local2++;
}
}
function update() {
createPoints();
drawIt();
if ((--tick) < 0) {
fixed = !fixed;
tick = 20 + random(120);
}
if (!fixed) {
if (moveUp) {
if (moveClip._y > -100) {
moveClip._y--;
} else {
moveUp = !moveUp;
}
} else if (moveClip._y < 100) {
moveClip._y++;
} else {
moveUp = !moveUp;
}
moveClip._rotation = random(360);
} else {
moveClip._rotation = 0;
moveClip._x = Stage.width / 2;
moveClip._y = Stage.height / 2;
}
}
}
Symbol 21 MovieClip [__Packages.Cube3D] Frame 0
class Cube3D
{
var speed, tick, dist, tick2, dist2, pointsArray, pointsArrayBackup, cubeAxisRotations, displayClip, focalLength, col, thickNess;
function Cube3D () {
speed = 0.0008;
tick = 50;
dist = false;
tick2 = 50;
dist2 = false;
speed = 0.0008;
pointsArray = [make3DPoint(-50, -50, -50), make3DPoint(50, -50, -50), make3DPoint(50, -50, 50), make3DPoint(-50, -50, 50), make3DPoint(-50, 50, -50), make3DPoint(50, 50, -50), make3DPoint(50, 50, 50), make3DPoint(-50, 50, 50)];
pointsArrayBackup = pointsArray.concat();
cubeAxisRotations = make3DPoint(0, 0, 0);
displayClip = _global.wclip.createEmptyMovieClip("theScene", 1);
displayClip._x = Stage.width / 2;
displayClip._y = Stage.height / 2;
focalLength = 300;
col = 65484;
thickNess = 5;
}
function getColour() {
var _local2 = random(256);
var _local3 = random(256);
var _local1 = random(256);
var _local5 = ((!_local2) ? "00" : (_local2.toString(16)));
var _local4 = ((!_local3) ? "00" : (_local3.toString(16)));
var _local6 = ((!_local1) ? "00" : (_local1.toString(16)));
return((("0x" + _local5) + _local4) + _local6);
}
function rotateCube() {
cubeAxisRotations.y = cubeAxisRotations.y - ((random(100) + 1) * speed);
cubeAxisRotations.x = cubeAxisRotations.x + ((random(100) + 1) * speed);
var _local2 = Convert3DPointsTo2DPoints(pointsArray, cubeAxisRotations);
displayClip.clear();
displayClip.lineStyle(thickNess, col, 100);
displayClip.moveTo(_local2[0].x, _local2[0].y);
displayClip.lineTo(_local2[1].x, _local2[1].y);
displayClip.lineTo(_local2[2].x, _local2[2].y);
displayClip.lineTo(_local2[3].x, _local2[3].y);
displayClip.lineTo(_local2[0].x, _local2[0].y);
displayClip.moveTo(_local2[4].x, _local2[4].y);
displayClip.lineTo(_local2[5].x, _local2[5].y);
displayClip.lineTo(_local2[6].x, _local2[6].y);
displayClip.lineTo(_local2[7].x, _local2[7].y);
displayClip.lineTo(_local2[4].x, _local2[4].y);
displayClip.moveTo(_local2[0].x, _local2[0].y);
displayClip.lineTo(_local2[4].x, _local2[4].y);
displayClip.moveTo(_local2[1].x, _local2[1].y);
displayClip.lineTo(_local2[5].x, _local2[5].y);
displayClip.moveTo(_local2[2].x, _local2[2].y);
displayClip.lineTo(_local2[6].x, _local2[6].y);
displayClip.moveTo(_local2[3].x, _local2[3].y);
displayClip.lineTo(_local2[7].x, _local2[7].y);
}
function update() {
col = getColour();
rotateCube();
if ((--tick) < 0) {
tick = random(50);
dist = !dist;
}
if ((--tick2) < 0) {
tick2 = random(150);
dist2 = !dist2;
}
if (dist) {
speed = speed + 1E-5;
var _local3 = new Array(0);
var _local2 = 0;
while (_local2 < pointsArray.length) {
_local3.push(make3DPoint(-50 + random(100), -50 + random(100), -50 + random(100)));
_local2++;
}
pointsArray = _local3;
thickNess = 10;
var _local8 = 30;
var _local7 = 30;
var _local6 = 1;
thickNess = 10;
var _local5 = new flash.filters.BlurFilter(_local8, _local7, _local6);
var _local4 = new Array();
_local4.push(_local5);
displayClip.filters = _local4;
displayClip._xscale++;
displayClip._yscale++;
} else {
if (dist2) {
displayClip._xscale = 1 + random(300);
displayClip._yscale = 1 + random(300);
} else {
displayClip._xscale = 80 + random(50);
displayClip._yscale = 80 + random(50);
}
var _local8 = 30;
var _local7 = 30;
var _local6 = 1;
thickNess = 8;
var _local5 = new flash.filters.BlurFilter(_local8, _local7, _local6);
var _local4 = new Array();
_local4.push(_local5);
displayClip.filters = _local4;
thickNess = 6;
speed = 0.001;
pointsArray = pointsArrayBackup.concat();
}
}
function make2DPoint(x, y) {
var _local1 = new Object();
_local1.x = x;
_local1.y = y;
return(_local1);
}
function make3DPoint(x, y, z) {
var _local1 = new Object();
_local1.x = x;
_local1.y = y;
_local1.z = z;
return(_local1);
}
function Convert3DPointsTo2DPoints(points, axisRotations) {
var _local20 = new Array(0);
var _local15 = Math.sin(axisRotations.x);
var _local17 = Math.cos(axisRotations.x);
var _local13 = Math.sin(axisRotations.y);
var _local16 = Math.cos(axisRotations.y);
var _local12 = Math.sin(axisRotations.z);
var _local14 = Math.cos(axisRotations.z);
var _local5;
var _local4;
var _local3;
var _local10;
var _local9;
var _local11;
var _local8;
var _local19;
var _local18;
var _local6;
var _local2 = points.length;
while (_local2--) {
_local5 = points[_local2].x;
_local4 = points[_local2].y;
_local3 = points[_local2].z;
_local10 = (_local17 * _local4) - (_local15 * _local3);
_local9 = (_local15 * _local4) + (_local17 * _local3);
_local8 = (_local16 * _local9) - (_local13 * _local5);
_local11 = (_local13 * _local9) + (_local16 * _local5);
_local19 = (_local14 * _local11) - (_local12 * _local10);
_local18 = (_local12 * _local11) + (_local14 * _local10);
_local6 = focalLength / (focalLength + _local8);
_local5 = _local19 * _local6;
_local4 = _local18 * _local6;
_local3 = _local8;
_local20[_local2] = make2DPoint(_local5, _local4, -_local3, _local6);
}
return(_local20);
}
}