@benev/nubs
Version:
user-input system for web games
12 lines • 676 B
JavaScript
import { within_radius } from "./within_radius.js";
import { find_closest_point_on_circle } from "./find_closest_point_on_circle.js";
export function calculate_new_vector_from_pointer_position({ radius, rect: { left, top, width, height } }, [client_x, client_y]) {
const middle_x = left + (width / 2);
const middle_y = top + (height / 2);
let new_vector = [(client_x - middle_x), (client_y - middle_y)];
if (!within_radius(radius, new_vector))
new_vector = find_closest_point_on_circle(radius, new_vector);
const [x, y] = new_vector;
return [(x / radius), -(y / radius)];
}
//# sourceMappingURL=calculate_new_vector_from_pointer_position.js.map