So in Camera.hx: ```hx public static function move...
# lime
t
So in Camera.hx:
Copy code
hx
public static function moveCamera(delta:Float):Void {
        dt = delta;
        var camSpeed = speed * dt;
        if (moveForward) {
            var tgt = front.clone();
            tgt.normalize();
            tgt.scaleBy(camSpeed);
            pos = pos.add(tgt);
        }
        if (moveBackward) {
            var tgt = pos.clone();
            tgt.normalize();
            tgt.scaleBy(camSpeed);
            pos = pos.subtract(tgt);
        }
        if (moveLeft) {
            var m = pos.crossProduct(up);
            m.normalize();
            m.scaleBy(camSpeed);
            pos = pos.subtract(m);
        }
        if (moveRight) {
            var m = front.crossProduct(up);
            m.normalize();
            m.scaleBy(camSpeed);
            pos = pos.add(m);
        }
    }
In Main.hx:
Copy code
hx
public override function update(deltaTime:Int):Void {
        this.deltaTime = deltaTime * 1.0 / 1000.0;
        if (Camera.moveLeft || Camera.moveRight || Camera.moveForward || Camera.moveBackward) {
            Camera.moveCamera(deltaTime);
        }
    }

    public override function onKeyDown(key:KeyCode, modifier:KeyModifier):Void {
        switch (key) {
            case LEFT:
                Camera.moveLeft = true;
            case RIGHT:
                Camera.moveRight = true;
            case UP:
                Camera.moveForward = true;
            case DOWN:
                Camera.moveBackward = true;
            default:
        }
    }

    public override function onKeyUp(key:KeyCode, modifier:KeyModifier):Void {
        switch (key) {
            case LEFT:
                Camera.moveLeft = false;
            case RIGHT:
                Camera.moveRight = false;
            case UP:
                Camera.moveForward = false;
            case DOWN:
                Camera.moveBackward = false;
            default:
        };
    }