Here is the code snippet:
Code:
var numOrbs=50; //number of Orbs
var iv=.7; //initial Orb speed
var Orbcollisions=1; //Orb collisions 1=on, 0=off
var Zeye; //perspective:distance of eye from box centre
var Zscreen; //perspective:distance of screen from box centre
var pw,ph,cw,ch;
var Orbsize,Orbsize2;
var xmin,ymin,xmax,ymax,zmin,zmax;
var collisions=new Array();
var collisionpool= new Array();
var vx=new Array();
var vy=new Array();
var vz=new Array();
var px=new Array();
var py=new Array();
var pz=new Array();
var cln=new Array();
var Orb=new Object();
var twa;
var eps=0.01;
var alarm=0;
var offsetx;
var offsety;
var os
function init(){
var i,im,theta;
Orbsize=25;
Orbsize2=4*Orbsize*Orbsize;
for(i=0;i<numOrbs*2;i++)collisionpool.push(new collision(container));
resize()
for(i=0;i<numOrbs;i++){
var i,im,theta;
cln[i]=new Array;
for(j=0;j<numOrbs;j++)cln[i][j]=0;
px[i]=-.5*cw;
py[i]=-.5*ch;
pz[i]=(zmin);
theta=Math.PI*2*Math.random();
phi=Math.asin(Math.random());
//if(Math.random()>0.5)phi=-phi;
vx[i]=iv*Math.cos(theta)*Math.cos(phi);
vy[i]=iv*Math.sin(theta)*Math.cos(phi);
vz[i]=iv*Math.sin(phi);
Orb[i]=new OrbCreator(i);
Orb[i+50]=new OrbCreator(i+50);
Orb[i+100]=new OrbCreator(i+100);
}
document.body.onresize=resize;
setInterval("anim();",100);
}
function OrbCreator(ID){
var b;
b=document.createElement("<img src='./images/Orb.png' style='position:absolute; display:none; left:10000px; top:0px; width:"+(2*Orbsize)+"px; height:"+(2*Orbsize)+"px;'>");
this.is=b.style;
this.move=moveOrb;
document.getElementById("container").appendChild(b);
this.is.display='block';
this.is.id=ID;
}
Code:
function moveOrb(x,y,z){
k=(Zeye-Zscreen)/(Zeye-z);
os=(Orbsize*k);
x=x-os;
y=y-os;
var OS=os*2;
this.is.width=OS;
this.is.height=OS;
this.is.left=x;
this.is.top=y;
this.is.zIndex=z;
//if(document.getElementById('message').style.top>0)document.getElementById('message').style.top=document.getElementById('message').style.top-1;
}
here is the calling code:
Orb[a].move(px[a],py[a],pz[a]);
Orb[a+50].move(px[a],(px[a]+offsetx),pz[a]);
Orb[a+100].move(px[a],(py[a]+offsety),pz[a]);
When I declare Orb as an Array, no problem...
When I declare Orb as an Object, moveOrb() throws the error "Invalid argument"... What's up?
Am I correct in my understanding that Array is a predefined Object and is really not much different than a defined argument?
__________________
Sleeping Troll, EMUSE, Mind Expansion...Truly serendipity!
|