No movie clips today. Just some code.
package {
import Math;
public class JamBounce {
public function JamBounce () {
var welcomeMessage = "JamBounce Class written by Joshua Russell-Hobson.\nVersion 0.1\n";
trace(welcomeMessage);
}
public function calcAdj( angle:int, distance:int ):Number {
return ( Math.sin( angle / (180 / Math.PI) ) * distance );
}
public function calcOpp( distance:int, adj:Number ):Number {
return Math.sqrt(Math.pow(distance,2) - Math.pow(adj, 2));
}
// Angle Math
public function angleMath( myX:int, myY:int, angle:int, distance:int ):GridLocation {
var newX:Number;
var newY:Number;
var opp:Number;
var adj:Number;
/* I think that Opp and Adj might be the wrong way round.
*/
if ( angle <= 90 ) { adj = calcAdj( angle, distance ); opp = calcOpp( distance, adj ); newX = myX + adj; newY = myY - opp; } else if ( angle <= 180 ) { adj = calcAdj( angle - 90, distance ); opp = calcOpp( distance, adj ); newX = myX + opp; newY = myY + adj; } else if ( angle <= 270 ) { adj = calcAdj( angle - 90, distance ); opp = calcOpp( distance, adj ); newX = myX - opp; newY = myY + adj; } else { adj = calcAdj( angle - 90, distance ); opp = calcOpp( distance, adj ); newX = myX - opp; newY = myY + adj; } return new GridLocation( newX, newY ) ; } } }
No comments:
Post a Comment