Difference between revisions of "3D Space Example.as"

From Organic Design wiki
(Try reducing to one loop)
(Remove simplified test and put space back)
Line 1: Line 1:
 
#include "Space.as"
 
#include "Space.as"
 
 
  
 
// Instantiate a new 3D-space
 
// Instantiate a new 3D-space
//createEmptyMovieClip( 'test', 1 );
+
createEmptyMovieClip( 'test', 1 );
//initialiseSpace( test );
+
initialiseSpace( test );
//test._x = width/2;
+
test._x = width/2;
//test._y = height/2;
+
test._y = height/2;
 
 
// testing z-ordering algorithm
 
var balls = [];
 
for ( var i = 0; i < 5; i++ ) {
 
attachMovie( 'ball', 'ball'+i, i );
 
o = balls[i] = _root['ball'+i];
 
j = i + 1;
 
r = (j & 1) ? 0xff : 0;
 
g = (j & 2) ? 0xff : 0;
 
b = (j & 4) ? 0xff : 0;
 
c = new Color(o);
 
c.setTransform( { ra:r, ga:g, ba:b } );
 
}
 
 
 
  
 
// Per frame
 
// Per frame
Line 30: Line 14:
 
// for ( var i = 0; i < allSpaces.length; i++ )
 
// for ( var i = 0; i < allSpaces.length; i++ )
 
// if ( allSpaces[i].active ) allSpaces[i].frame();
 
// if ( allSpaces[i].active ) allSpaces[i].frame();
 
// testing z-ordering algorithm
 
balls.sort( function( a, b ) { return a.az > b.az; } );
 
a += 0.05;
 
c = 2*Math.PI/5;
 
for ( i = 0; i < balls.length; i++ ) {
 
obj = _root['ball'+i]; // their metrics depend on name not zbuff!!!
 
b = a + c * i;
 
obj._x = width/2+Math.sin(b)*width/3;
 
obj.az = obj._xscale = obj._yscale = 50+Math.cos(b)*25;
 
obj._y = height/2;
 
balls[i].swapDepths(i);
 
}
 
 
 
msg = "<font face='courier New' size='12pt' color='#00ff00'>";
 
for ( i = 0; i < balls.length; i++ )
 
    msg = msg + i + ': '+balls[i].getDepth()+' : '+balls[i]._name+' ('+balls[i].az+')<br>';
 
debug.htmlText = msg + '</font>';
 
}
 
  
 
createTextField( 'debug', 100, 0, 0, width, height );
 
createTextField( 'debug', 100, 0, 0, width, height );
Line 61: Line 25:
  
 
// Test object
 
// Test object
//test.create( [ 0, 0, '', 'torus', 5, 200, 5000 ] );
+
test.create( [ 0, 0, '', 'torus', 5, 200, 5000 ] );

Revision as of 12:46, 20 March 2006

  1. include "Space.as"

// Instantiate a new 3D-space createEmptyMovieClip( 'test', 1 ); initialiseSpace( test ); test._x = width/2; test._y = height/2;

// Per frame function reduce() { now = new Date(); time = now.getTime(); //if (_root.ctr++ < 2) // for ( var i = 0; i < allSpaces.length; i++ ) // if ( allSpaces[i].active ) allSpaces[i].frame();

createTextField( 'debug', 100, 0, 0, width, height ); with ( debug ) { selectable = true; border = false; multiline = true; wordWrap = true; html = true; }

// Test object test.create( [ 0, 0, , 'torus', 5, 200, 5000 ] );