Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Vector2 d = new Vector2(0, 0);
- float Fi = getAngle(message.getLoc(), bwNode.getLoc());
- d.x = Math.cos(Fi);
- d.y = Math.sin(Fi);
- Vector2 PT = new Vector2(0, 0);
- PT.x = (message.getLoc().getX() - bwNode.getLoc().getX());
- PT.y = (message.getLoc().getZ() - bwNode.getLoc().getZ());
- double perplen = Math.abs(PT.x * d.y - PT.y * d.x);
- double alonglen = Math.abs(PT.x * d.x + PT.y * d.y);
- if(perplen <= AreaWidth/2){
- if(alonglen >= 0 && alonglen <= AreaLength){
- if(!targetsInArea.contains(targetToCheck)) {
- targetsInArea.add(targetToCheck);
- }
- }
- }
- public float getAngle(Point player, Point target) {
- float angle = (float) Math.toDegrees(Math.atan2(target.getZ() - player.getZ(), target.getX() - player.getX()));
- if(angle < 0){
- angle += 360;
- }
- return angle;
- }
Add Comment
Please, Sign In to add comment