あ
This commit is contained in:
parent
8f9f5b5100
commit
f1c3af2b89
49 changed files with 989 additions and 310 deletions
|
|
@ -121,7 +121,7 @@
|
|||
}
|
||||
|
||||
|
||||
function bounceCircleOffRect(obj, rect, radius, restitution = 1.08, worldRef = null, opts = {}) {
|
||||
function bounceCircleOffRect(obj, rect, radius, restitution = 2.40, worldRef = null, opts = {}) {
|
||||
if (!obj || !rect) return false;
|
||||
if (rect.oriented) return circleBounceOffOrientedRect(obj, rect, radius, restitution, worldRef, opts);
|
||||
const hitRadius = Math.max(2, Number(radius || obj.r || obj.radius || 12) || 12);
|
||||
|
|
@ -194,9 +194,9 @@
|
|||
const rects = worldRef.nearbySolidObstacleRects(item.x, item.y, searchRadius, { include: it => it?.type === "bounce_fence" || it?.type === "bounce_fence_v", exclude: item, maxChecks: 16 }) || [];
|
||||
for (const rect of rects) {
|
||||
if (!rect?.bounce) continue;
|
||||
if (bounceCircleOffRect(item, rect, radius, Number(rect.restitution || 1.08), worldRef, opts)) {
|
||||
if (bounceCircleOffRect(item, rect, radius, Number(rect.restitution || 2.40), worldRef, opts)) {
|
||||
bounced = true;
|
||||
const maxSpeed = opts.bounceFenceMaxSpeed ?? 760;
|
||||
const maxSpeed = opts.bounceFenceMaxSpeed ?? 1180;
|
||||
item.vx = clamp(item.vx || 0, -maxSpeed, maxSpeed);
|
||||
item.vy = clamp(item.vy || 0, -maxSpeed, maxSpeed);
|
||||
const now = worldRef.time || 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue