pointer-lock.js

total 0
used 0
limit 0
/* https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API */ class MainStage extends Stage { // canvas = document.getElementById('playspace'); canvas = 'playspace' mounted(){ this.point = new Point(100, 100, 20) this.events.wake() } async onMousedown(ev) { /* assign lock.*/ if(document.pointerLockElement) { return } try { await this.canvas.requestPointerLock({ unadjustedMovement: true, }); } catch (error) { if (error.name === "NotSupportedError") { // Some platforms may not support unadjusted movement. await this.canvas.requestPointerLock(); } else { throw error; } } } async onMousemove(ev) { if(!document.pointerLockElement){ return } this.point.copy(this.point.add({x:ev.movementX, y:ev.movementY})) } async onMouseup(ev) { if(!document.pointerLockElement){ return } // unlock document.exitPointerLock(); } draw(ctx){ this.clear(ctx) this.point.pen.fill(ctx, '#880000') } } stage = MainStage.go(/*{ loop: true }*/)
Run
Meta Data
imports ()
files ()
unused_keys ('title',)
unknown_keys ('https',)
https ['//developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API']
filepath_exists True
path pointer-lock.js
filepath pointer-lock.js
clean_files ()
markdown {'html': '', 'content': 'https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API'}