UNPKG

@vladkrutenyuk/three-kvy-core

Version:

Everything you need to create any-complexity 3D apps with Three.js. Empower Three.js with a modular, lifecycle-managed context that seamlessly propagates through objects via reusable features providing structured logic.

23 lines (17 loc) 504 B
import * as KVY from "@vladkrutenyuk/three-kvy-core"; export class SimpleMovement extends KVY.Object3DFeature { speed = 10; constructor(object, props) { super(object); this.speed = props.speed; } onBeforeRender(ctx) { const offset = this.speed * ctx.deltaTime; const pos = this.object.position; const key = ctx.modules.input.isKeyDown; if (key("KeyW")) pos.z -= offset; if (key("KeyS")) pos.z += offset; if (key("KeyD")) pos.x += offset; if (key("KeyA")) pos.x -= offset; } }