privatevarmMotionCom:RCSMove;
privatevarmColDetCom:RCSColDet;
//--functionwhichisusefulbyextends.--
/*
publicfunctionE3DNode(inX:Number,inY:Number,inZ:Number)
publicfunctionresetXYZ(inX:Number,inY:Number,inZ:Number)
publicfunctiongetPerspective(viewDistance:Number):Number
publicfunctiontransTo2DNode(viewDistance:Number):E2DNode
publicfunctiontransTo2DNode2(projectPos:Number):E2DNode
publicfunctionrotateAroundZ(fi:Number):Void
publicfunctionrotateAroundX(fi:Number):Void
publicfunctionrotateAroundY(fi:Number):Void
*/
//--selffunction--
publicfunctionE3DPhyNode(inX:Number,inY:Number,inZ:Number)
{
x=inX;
y=inY;
z=inZ;
}
publicfunctionsetLife(lifeValue:Number):Void
{
life=lifeValue;
}
publicfunctiongetLife():Number
{
returnlife;
}
publicfunctionisLived():Boolean
{
returnlife==LIVED;
}
//-initializationfunctions-
publicfunctioninitThisPtr():Void
{
thisP=this;
}
publicfunctioninitCom():Void
{
mMotionCom=newRCSMove();
mColDetCom=newRCSColDet();
}
publicfunctioninitV_A(inVx:Number,inVy:Number,inVz:Number,inAx:Number,inAy:Number,inAz:Number):Void
{
this.vx=inVx;
this.vy=inVy;
this.vz=inVz;
this.ax=inAx;
this.ay=inAy;
this.az=inAz;
}
publicfunctioninitPos(inX:Number,inY:Number,inZ:Number):Void
{
this.x=inX;
this.y=inY;
this.z=inZ;
this.bufferX=this.x;
this.bufferY=this.y;
this.bufferZ=this.z;
}
publicfunctioninitRotateEle(inFn:Number,inAn:Number,inTheta:Number):Void
{
this.fN=inFn;
this.aN=inAn;
this.theta=inTheta;
}
//--moveandshowfunctions--
publicfunctionmoveCal():Void
{
this.vx =this.ax;
this.vy =this.ay;
this.vz =this.az;
this.bufferX =this.vx;
this.bufferY-=this.vy;
this.bufferZ =this.vz;
}
publicfunctionmoveShow():Void
{
vartmp2DNode=newE2DNode(0,0);
/*globalvarialbedepends:
gNodeColor,gNodeTransparent,gOffsetX,gOffsetY
*/
//1.cleartheoldnode
//inauplever,globalclearmode.
//2.updatetheposition,actually,thereisnoneedtousebufferx,y,zhereinflash.
//butthedesignhereseemtobemoreflexible
this.x=this.bufferX;
this.y=this.bufferY;
this.z=this.bufferZ;
//3.redraw.
tmp2DNode=this.transTo2DNode2(_root.gZProjectDis);
_root.gBrush.moveTo(_root.gOffsetX Number(tmp2DNode.x)-1,_root.gOffsetY Number(tmp2DNode.y) 1);
_root.gBrush.lineTo(_root.gOffsetX Number(tmp2DNode.x) 1,_root.gOffsetY Number(tmp2DNode.y)-1);
}
//--checkfunctions--
publicfunctionoutDetect():Boolean
{
if(this.y>400)
returntrue;
else
returnfalse;
}
//--otherultimovingfunctions--
publicfunctionaccTheta(detaAng:Number):Void
{
this.theta =detaAng;
}
publicfunctioncalANXZ():Void
{
this.aNXZ=(this.vx*this.vx this.vz*this.vz)/Math.sqrt(this.x*this.x this.z*this.z);
}
publicfunctioncalRXZ():Void
{
this.rXZ=Math.sqrt(this.x*this.x this.z*this.z);
}
publicfunctioncalAxAzInRotate():Void
{
this.aN=(this.vx*this.vx this.vz*this.vz)/Math.sqrt(this.x*this.x this.z*this.z);
this.ax=this.aN*Math.cos(this.theta);
this.az=this.aN*Math.sin(this.theta);
}
publicfunctioncalAxAzInRotate2():Void
{
this.ax=this.aNXZ*Math.cos(this.theta);
&nb,sp;
this.az=this.aNXZ*Math.sin(this.theta);
}
publicfunctionmoveWithY():Void
{
this.bufferX=this.rXZ*Math.cos(this.theta);
this.bufferZ=this.rXZ*Math.sin(this.theta);
}
publicfunctionmoveCalFermatSpiralWithY():Void
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




