Search Tutorials
The CodeMost of the code hangs on the light source: onClipEvent(load) {
this._x=414.0;
this._y=198.0;
// a * 3 is radius of circle -----
a = 59;
i = 0;
_root.ratio=50;
_root.convrad=Math.PI/180
// x base & y base (in stead of 0,0)
xb = 198.0;
yb = 198.0;
function SinMouseX(AngleX) {
return Math.cos(Math.PI/180 * (_root.DgrMouseX - AngleX));
}
function AlphaMouseX(Z,X) {
return ((_root.DgrMouseZ/Z) * _root.ratio + X * (100 - _root.ratio));
}
}
onClipEvent(enterFrame) {
// making the light move -----
i++;
if (i>= 360) { i=i - 360 }
// must be in radians (not degrees)
theta=(_root.convrad) * i;
// -------------------------------
// path of lightsource -----------
if (_root.lightsource == "manual") {
xm = _root._xmouse;
ym = _root._ymouse;
} else if (_root.lightsource == "automatic"){
xm = xb + (2 * a * Math.cos(theta) + a * Math.cos(2 * theta));
ym = yb + (2 * a * Math.sin(theta) - a * Math.sin(2 * theta));
}
// -------------------------------
// pythagoras for angle mouse & x,ybase
xt= xm - xb;
yt= ym - yb;
_root.DeltaX=Math.sqrt(xt * xt + yt * yt);
// -------------------------------
// z is angle upwards: x,ybase -> light = radius = 180
_root.DgrMouseZ=int(Math.acos(_root.DeltaX/180) / _root.convrad);
_root.DgrMouseX=int(Math.atan(yt/xt) / _root.convrad);
// -------------------------------
// recompute flash-angles to normal-angles
if(xt <0 && yt> 0){
_root.DgrMouseX += 270;
} else if(xt <0 && yt <= 0){
_root.DgrMouseX += 270;
} else if(xt>= 0 && yt <= 0){
_root.DgrMouseX += 90;
} else if(xt>= 0 && yt>= 0){
_root.DgrMouseX += 90;
}
// -------------------------------
}This is the code on the facets: onClipEvent(load) {
// angle of this facet -----------
FacetZ=45;
FacetX=63.75;
}
onClipEvent(enterFrame) {
XTemp=_root.light.SinMouseX(FacetX);
// set alpha
this._alpha = _root.light.AlphaMouseX(FacetZ,XTemp);
}
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|