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

From Organic Design wiki
(Try reducing to one loop)
 
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
#include "Space.as"
+
{{legacy}}
 
+
<as>
 
+
Mouse.hide();
 +
#include "space.as"
  
 
// Instantiate a new 3D-space
 
// Instantiate a new 3D-space
//createEmptyMovieClip( 'test', 1 );
+
// - extends createEmptyMovieClip( name, layer )
//initialiseSpace( test );
+
createSymbol( _root, 'space', 'mySpace', 0 );
//test._x = width/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
 
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();
 
 
 
// 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 );
 
with ( debug ) {
 
selectable = true;
 
border = false;
 
multiline = true;
 
wordWrap = true;
 
html = true;
 
}
 
  
 
// Test object
 
// Test object
//test.create( [ 0, 0, '', 'torus', 5, 200, 5000 ] );
+
mySpace.create( [ 'torus', 'myTorus', 5, 200, 2000 ] );
 +
</as>

Latest revision as of 08:31, 20 October 2007

Legacy.svg Legacy: This article describes a concept that has been superseded in the course of ongoing development on the Organic Design wiki. Please do not develop this any further or base work on this concept, this is only useful for a historic record of work done. You may find a link to the currently used concept or function in this article, if not you can contact the author to find out what has taken the place of this legacy item.

<as> Mouse.hide();

  1. include "space.as"

// Instantiate a new 3D-space // - extends createEmptyMovieClip( name, layer ) createSymbol( _root, 'space', 'mySpace', 0 );

// Test object mySpace.create( [ 'torus', 'myTorus', 5, 200, 2000 ] ); </as>