diff --git a/src/state/states/RunningState.ts b/src/state/states/RunningState.ts index 2e24b48..49b843a 100644 --- a/src/state/states/RunningState.ts +++ b/src/state/states/RunningState.ts @@ -62,11 +62,11 @@ export class RunningState extends State { // const train = new Train(track.path, [new LargeLady(), new Tender()]); // ctx.trains.push(train); }); - const train = new Train(track.path, [new LargeLady()], 1080); + const train = new Train(track.path, [new LargeLady()]); ctx.trains.push(train); // const trainCount = 1000; // for (let i = 0; i < trainCount; i++) { - // const train = new Train(track.path, [new RedEngine(), new Tender()]); + // const train = new Train(track.path, [new LargeLady(), new Tender()]); // ctx.trains.push(train); // } diff --git a/src/track/shapes.ts b/src/track/shapes.ts index 74a92f0..44c676e 100644 --- a/src/track/shapes.ts +++ b/src/track/shapes.ts @@ -44,7 +44,7 @@ export class BankLeft extends TrackSegment { const p2 = start.copy(); const p3 = start.copy(); const p4 = start.copy(); - const scale = 33; + const scale = 66; p2.add(new Vector(1, 0).mult(scale)); p3.set(p2); @@ -70,7 +70,7 @@ export class BankRight extends TrackSegment { const p2 = start.copy(); const p3 = start.copy(); const p4 = start.copy(); - const scale = 33; + const scale = 66; p2.add(new Vector(1, 0).mult(scale)); p3.set(p2); diff --git a/src/train/LargeLady.ts b/src/train/LargeLady.ts index 88d5272..7966651 100644 --- a/src/train/LargeLady.ts +++ b/src/train/LargeLady.ts @@ -86,16 +86,19 @@ export class LargeLady extends TrainCar { }); } - const c = this.bogies[2]; - const b = this.bogies[1]; - const origin = c.pos.copy().add(new Vector(18, 0).rotate(c.angle)); - const difAngle = Vector.sub(b.pos, c.pos).heading(); - const angle = c.angle; - const avgAngle = (difAngle + angle) / 2; + const b = this.bogies[2]; + const a = this.bogies[1]; + const origin = b.pos.copy().add(new Vector(18, 0).rotate(b.angle)); + // const origin = Vector.add(Vector.sub(a.pos, b.pos).div(2), b.pos); + // const angle = Vector.sub(b.pos, a.pos).heading(); + + // const difAngle = Vector.sub(b.pos, c.pos).heading(); + const angle = b.angle + Math.PI; + // const avgAngle = (difAngle + angle) / 2; doodler.drawCircle(origin, 4, { color: "blue" }); - doodler.drawRotated(origin, avgAngle + Math.PI, () => { + doodler.drawRotated(origin, angle, () => { this.sprite ? doodler.drawSprite( this.img, diff --git a/temp.json b/temp.json new file mode 100644 index 0000000..dc77f24 --- /dev/null +++ b/temp.json @@ -0,0 +1 @@ +[{"p":[[633.178123792903,100.31612523465073,0],[699.1781237929027,100.31612523465073,0],[762.9292283279814,117.39818221141712,0],[820.0869049777544,150.39818221141715,0]],"id":"83b9fc8c-778e-4e5e-a3db-1199863a2e13","bNeighbors":["a149432a-e04e-481a-ada2-c05a30ffb4c0"],"fNeighbors":["dc3ec17d-f28e-40fe-ba68-8a4ae6b2c117"]},{"p":[[820.0869049777544,150.39818221141715,0],[877.2445816275272,183.398182211417,0],[923.9136291858395,230.06722976972924,0],[956.9136291858396,287.2249064195022,0]],"id":"dc3ec17d-f28e-40fe-ba68-8a4ae6b2c117","bNeighbors":["83b9fc8c-778e-4e5e-a3db-1199863a2e13"],"fNeighbors":["1b6409da-5c9d-4b1d-b460-fcc5e40eaee4"]},{"p":[[956.9136291858396,287.2249064195022,0],[989.9136291858396,344.3825830692749,0],[1006.9956861626059,408.13368760435344,0],[1006.9956861626064,474.1336876043541,0]],"id":"1b6409da-5c9d-4b1d-b460-fcc5e40eaee4","bNeighbors":["dc3ec17d-f28e-40fe-ba68-8a4ae6b2c117"],"fNeighbors":["24861245-ca99-4f97-9e0a-5828773fcf7a"]},{"p":[[1006.9956861626064,474.1336876043541,0],[1006.9956861626068,540.1336876043545,0],[989.9136291858408,603.884792139433,0],[956.9136291858412,661.042468789207,0]],"id":"24861245-ca99-4f97-9e0a-5828773fcf7a","bNeighbors":["1b6409da-5c9d-4b1d-b460-fcc5e40eaee4"],"fNeighbors":["98ad61a1-f2e7-4c53-9caa-022faa15ce68"]},{"p":[[956.9136291858412,661.042468789207,0],[923.9136291858417,718.2001454389806,0],[877.2445816275301,764.8691929972932,0],[820.0869049777573,797.8691929972947,0]],"id":"98ad61a1-f2e7-4c53-9caa-022faa15ce68","bNeighbors":["24861245-ca99-4f97-9e0a-5828773fcf7a"],"fNeighbors":["7f11837f-f043-468f-b1cb-254236501199"]},{"p":[[820.0869049777573,797.8691929972947,0],[762.9292283279847,830.8691929972961,0],[699.1781237929068,847.9512499740634,0],[633.1781237929063,847.9512499740653,0]],"id":"7f11837f-f043-468f-b1cb-254236501199","bNeighbors":["98ad61a1-f2e7-4c53-9caa-022faa15ce68"],"fNeighbors":["d89abe0b-7d84-4921-b690-23cdb6ec7c4a"]},{"p":[[633.1781237929063,847.9512499740653,0],[567.1781237929059,847.9512499740671,0],[503.4270192578273,830.8691929973024,0],[446.26934260805274,797.869192997304,0]],"id":"d89abe0b-7d84-4921-b690-23cdb6ec7c4a","bNeighbors":["7f11837f-f043-468f-b1cb-254236501199"],"fNeighbors":["3fb143a5-3d6e-409c-88b1-c20e9005a14f"]},{"p":[[446.26934260805274,797.869192997304,0],[389.1116659582787,764.869192997306,0],[342.44261839996534,718.2001454389954,0],[309.4426183999627,661.0424687892232,0]],"id":"3fb143a5-3d6e-409c-88b1-c20e9005a14f","bNeighbors":["d89abe0b-7d84-4921-b690-23cdb6ec7c4a"],"fNeighbors":["de299c76-bdbd-4b59-9514-722e3292ed49"]},{"p":[[309.4426183999627,661.0424687892232,0],[276.4426183999604,603.8847921394515,0],[259.36056142319165,540.1336876043738,0],[259.36056142318864,474.13368760437345,0]],"id":"de299c76-bdbd-4b59-9514-722e3292ed49","bNeighbors":["3fb143a5-3d6e-409c-88b1-c20e9005a14f"],"fNeighbors":["e573e278-4039-425f-89f5-245f96fe9096"]},{"p":[[259.36056142318864,474.13368760437345,0],[259.36056142318563,408.13368760437334,0],[276.4426183999492,344.38258306929436,0],[309.44261839994635,287.22490641951936,0]],"id":"e573e278-4039-425f-89f5-245f96fe9096","bNeighbors":["de299c76-bdbd-4b59-9514-722e3292ed49"],"fNeighbors":["87a06884-75e3-4802-ba38-3be366bac467"]},{"p":[[309.44261839994635,287.22490641951936,0],[342.4426183999434,230.06722976974456,0],[389.111665958253,183.39818221143025,0],[446.26934260802403,150.39818221142656,0]],"id":"87a06884-75e3-4802-ba38-3be366bac467","bNeighbors":["e573e278-4039-425f-89f5-245f96fe9096"],"fNeighbors":["a149432a-e04e-481a-ada2-c05a30ffb4c0"]},{"p":[[446.26934260802403,150.39818221142656,0],[503.42701925779517,117.3981822114228,0],[567.1781237928724,100.31612523465262,0],[633.1781237928726,100.31612523464773,0]],"id":"a149432a-e04e-481a-ada2-c05a30ffb4c0","bNeighbors":["87a06884-75e3-4802-ba38-3be366bac467"],"fNeighbors":["83b9fc8c-778e-4e5e-a3db-1199863a2e13"]}] \ No newline at end of file