Search tutorials
The Code
Most 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);
} | » Level Advanced |
|
Added: 2001-11-06 Rating: 8 Votes: 204 |
| » Author |
| Mr10 stands for Maarten van de Voorde, Graphic Design student from Holland. Being in his forth year he hopes to be employed by January, but for now he has some sparetime to do some free-lance assignments while graduating. |
| » Download |
| Download the files used in this tutorial. |
| Download (99 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!