device-orientation.js

total 0
used 0
limit 0
/* files: ../point_src/core/head.js ../point_src/pointpen.js ../point_src/pointdraw.js ../point_src/math.js ../point_src/point-content.js ../point_src/point.js ../point_src/events.js ../point_src/pointlist.js ../point_src/automouse.js ../point_src/stage.js ../point_src/text/beta.js */ class MainStage extends Stage { canvas = 'playspace' mounted(){ this.point = new Point(200, 100, 20) this.orientation = {spin: 0, pitch: 0, roll: 0} } draw(ctx){ this.clear(ctx) ctx.fillStyle = '#DDD' ctx.font = '400 22px sans-serif' ctx.textAlign = 'center' ctx.textBaseline = 'middle' this.point.text.fill(ctx, JSON.stringify(this.orientation)) this.point.pen.fill(ctx, '#880000') } } const sensor = new AbsoluteOrientationSensor(); Promise.all([navigator.permissions.query({ name: "accelerometer" }), navigator.permissions.query({ name: "magnetometer" }), navigator.permissions.query({ name: "gyroscope" })]) .then(results => { if (results.every(result => result.state === "granted")) { sensor.start(); } else { console.log("No permissions to use AbsoluteOrientationSensor."); } }); window.addEventListener('deviceorientation', handleOrientation); let ticks = 0; function handleOrientation(event) { const spin = alpha = event.alpha; // flat on its back const pitch = beta = event.beta; // pitch forward const roll = gamma = event.gamma; // roll // Do stuff... ticks++ // console.log(spin, pitch, roll, ) stage.orientation = {ticks, spin, pitch} } stage = MainStage.go(/*{ loop: true }*/)
Run
Meta Data
imports ()
files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/math.js', '../point_src/point-content.js', '../point_src/point.js', '../point_src/events.js', '../point_src/pointlist.js', '../point_src/automouse.js', '../point_src/stage.js', '../point_src/text/beta.js')
unused_keys ('title',)
unknown_keys ()
filepath_exists True
path device-orientation.js
filepath device-orientation.js
clean_files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/math.js', '../point_src/compass.js', '../point_src/center.js', '../point_src/point-content.js', '../point_src/relative-xy.js', '../point_src/pointcast.js', '../point_src/point.js', '../point_src/events.js', '../point_src/pointlistdraw.js', '../point_src/pointlistgradient.js', '../point_src/pointlistshape.js', '../point_src/pointlistgenerator.js', '../point_src/unpack.js', '../point_src/pointlist.js', '../point_src/automouse.js', '../point_src/stage-resize.js', '../point_src/functions/resolve.js', '../point_src/stage.js', '../point_src/text/beta.js')
markdown {'html': '', 'content': 'files:\n ../point_src/core/head.js\n ../point_src/pointpen.js\n ../point_src/pointdraw.js\n ../point_src/math.js\n ../point_src/point-content.js\n ../point_src/point.js\n ../point_src/events.js\n ../point_src/pointlist.js\n ../point_src/automouse.js\n ../point_src/stage.js\n ../point_src/text/beta.js'}