Difference between revisions of "3D Space Example.as"
m |
(revert back to working state) |
||
Line 10: | Line 10: | ||
// testing z-ordering algorithm | // testing z-ordering algorithm | ||
− | var balls = | + | var balls = 5; |
− | for ( var i = | + | for ( var i = 1; i <= balls; i++ ) attachMovie( 'ball', 'ball'+i, i ); |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 33: | Line 24: | ||
// testing z-ordering algorithm | // testing z-ordering algorithm | ||
a += 0.01; | a += 0.01; | ||
− | c = 2*Math.PI/ | + | c = 2*Math.PI/balls; |
− | for ( var i = | + | for ( var i = 1; i <= balls; i++ ) { |
− | + | ball = _root['ball'+i]; | |
b = a + c * i; | b = a + c * i; | ||
− | + | ball._x = width/2+Math.sin(b)*width/3; | |
− | + | ball.az = ball._xscale = ball._yscale = 50+Math.cos(b)*25; | |
− | + | ball.az = -ball.az; | |
− | + | ball._y = height/2; | |
} | } | ||
// Sort buffer by Z and synchronise rendering levels | // Sort buffer by Z and synchronise rendering levels | ||
− | for ( var i = | + | for ( var i = 1; i < balls; i++ ) { |
obj = _root['ball'+i]; | obj = _root['ball'+i]; | ||
var maxz = obj.az, maxp = i; | var maxz = obj.az, maxp = i; | ||
− | for ( var j = | + | for ( var j = i+1; j <= balls; j++ ) if ( _root['ball'+j].az > maxz ) { |
maxz = _root['ball'+j].az; | maxz = _root['ball'+j].az; | ||
maxp = j; | maxp = j; | ||
Line 58: | Line 49: | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | + | createTextField( 'debug', 0, 0, 0, width, height ); | |
with ( debug ) { | with ( debug ) { | ||
selectable = true; | selectable = true; |
Revision as of 04:41, 20 March 2006
- include "Space.as"
// Instantiate a new 3D-space //createEmptyMovieClip( 'test', 1 ); //initialiseSpace( test ); //test._x = width/2; //test._y = height/2;
// testing z-ordering algorithm var balls = 5; for ( var i = 1; i <= balls; i++ ) attachMovie( 'ball', 'ball'+i, i );
// 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 a += 0.01; c = 2*Math.PI/balls; for ( var i = 1; i <= balls; i++ ) { ball = _root['ball'+i]; b = a + c * i; ball._x = width/2+Math.sin(b)*width/3; ball.az = ball._xscale = ball._yscale = 50+Math.cos(b)*25; ball.az = -ball.az; ball._y = height/2; }
// Sort buffer by Z and synchronise rendering levels for ( var i = 1; i < balls; i++ ) { obj = _root['ball'+i]; var maxz = obj.az, maxp = i; for ( var j = i+1; j <= balls; j++ ) if ( _root['ball'+j].az > maxz ) { maxz = _root['ball'+j].az; maxp = j; } if ( maxp != i ) { obj.swapDepths( _root['ball'+maxp] ); _root['ball'+i] = _root['ball'+maxp]; _root['ball'+maxp] = obj; } }
}
createTextField( 'debug', 0, 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 ] );