Re:Ask HN: An SVG animation tool for idiots?
by efortis on Sunday April 03, 2022 @09:57PM
(#30902655)
Nice, what'd you use for drawing it?
Re:Ask HN: An SVG animation tool for idiots?
by linkdd on Sunday April 03, 2022 @10:46PM
(#30902905)
Vanilla JS API:
<canvas id="my-canvas"></canvas>
<div style="display: none;">
<img id="asset-foo" src="/img/foo.svg" />
<!-- ... -->
</div>
<script defer type="application/javascript">
window.addEventListener("DOMContentLoaded", () => {
const canvas = document.getElementById("my-canvas")
const context = canvas.getContext("2d")
const fooAsset = document.getElementById("asset-foo")
// ...
const frame = () => {
canvas.clearRect(0, 0, canvas.width, canvas.height)
// NB: this will fail if image could not be loaded by the browser
context.drawImage(fooAsset, x, y, w, h)
// ...
requestAnimationFrame(frame)
}
requestAnimationFrame(frame)
})
</script>
The result can be seen here: http://bd2e-77-141-81-91.ngrok.io(I'll shut down the ngrok in a few hours)
For me Inkscape is insanely hard to use, I ended up using a canvas and drawing directly in it.
The 2D context API provides the `lineDashOffset` property as well, so it works fine :)