Difference between revisions of "Z-order.as"

From Organic Design wiki
m
m
Line 26: Line 26:
 
b = a + c * i;
 
b = a + c * i;
 
obj.z = obj._xscale = obj._yscale = 20+Math.cos(b)*5;
 
obj.z = obj._xscale = obj._yscale = 20+Math.cos(b)*5;
obj._x = width/2+Math.sin(b)*width/3;
+
obj._x = width/2 + Math.sin(b) * width/3;
obj._y = height/2-obj.z;
+
obj._y = height/2 + obj.z * 2;
 
zbuff[i].swapDepths(i);
 
zbuff[i].swapDepths(i);
 
}
 
}
  
 
}
 
}

Revision as of 11:19, 20 March 2006

// Create some balls each of different colours and put in z-buffer balls = 6; zbuff = []; for ( i = 0; i < balls; i++ ) { attachMovie( 'ball', 'ball'+i, i ); zbuff[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( zbuff[i] ); c.setTransform( { ra:r, ga:g, ba:b } ); }

// Per frame function reduce() {

// Sort the z-buffer by z zbuff.sort( function(a,b) { return a.z > b.z; } );

// Set ball coordinates, scales and depths for this frame a += 0.05; c = 2*Math.PI/balls; for ( i = 0; i < balls; i++ ) { obj = _root['ball'+i]; b = a + c * i; obj.z = obj._xscale = obj._yscale = 20+Math.cos(b)*5; obj._x = width/2 + Math.sin(b) * width/3; obj._y = height/2 + obj.z * 2; zbuff[i].swapDepths(i); }

}