survivors: maybe made the behaviour better when projectiles flew through the target and then had to continue moving

This commit is contained in:
Sheldan
2025-08-22 11:53:58 +02:00
parent dbf34061f0
commit e91368d380
3 changed files with 37 additions and 9 deletions

View File

@@ -40,6 +40,16 @@ export function linePointCollision(point: Vector, lineStart: Vector, lineEnd: Ve
return false;
}
export function pointOnLineWithinLine(circleCenter: Vector, lineStart: Vector, lineEnd: Vector) {
let lineVector = Vector.createVector(lineEnd, lineStart)
let vectorCenterLine = Vector.createVector(circleCenter, lineStart)
let dot = vectorCenterLine.dotProduct(lineVector)
let closestX = lineStart.x + (dot * (lineVector.x))
let closestY = lineStart.y + (dot * (lineVector.y))
let closestPoint = new Vector(closestX, closestY);
return linePointCollision(closestPoint, lineStart, lineEnd);
}
export function circleLineCollision(circleCenter: Vector, radius: number, lineStart: Vector, lineEnd: Vector) {
if(pointInsideCircle(circleCenter, radius, lineStart) || pointInsideCircle(circleCenter, radius, lineEnd)) {
return true;