ruffle/web/www/index.js

34 lines
897 B
JavaScript
Raw Normal View History

2019-04-28 06:08:59 +00:00
import { Player } from "../pkg/fluster";
2019-04-25 17:52:22 +00:00
let fileInput = document.getElementById("file-input");
fileInput.addEventListener("change", fileSelected, false);
let player;
function fileSelected() {
let file = fileInput.files[0];
if (file) {
let fileReader = new FileReader();
fileReader.onload = e => {
playSwf(fileReader.result);
}
fileReader.readAsArrayBuffer(file);
}
}
2019-04-27 22:50:33 +00:00
let timestamp = 0;
2019-04-25 17:52:22 +00:00
function playSwf(swfData) {
let canvas = document.getElementById("fluster-canvas");
if (swfData && canvas) {
2019-04-28 06:08:59 +00:00
player = Player.new(canvas, new Uint8Array(swfData));
2019-04-27 22:50:33 +00:00
timestamp = performance.now();
2019-04-25 17:52:22 +00:00
window.requestAnimationFrame(tickPlayer);
}
}
2019-04-27 22:50:33 +00:00
function tickPlayer(newTimestamp) {
let dt = newTimestamp - timestamp;
player.tick(dt);
timestamp = newTimestamp;
2019-04-25 17:52:22 +00:00
window.requestAnimationFrame(tickPlayer);
}