feat: Add scale props in demo

This commit is contained in:
EnderRomantice
2025-12-23 15:47:19 +08:00
parent 452f79fd6b
commit 04efb0a7d1
2 changed files with 38 additions and 5 deletions

View File

@@ -660,7 +660,7 @@ class InfiniteGridMenu {
far: 40,
fov: Math.PI / 4,
aspect: 1,
position: vec3.fromValues(0, 0, props.scale),
position: vec3.fromValues(0, 0, 3),
up: vec3.fromValues(0, 1, 0),
matrices: {
view: mat4.create(),
@@ -703,10 +703,10 @@ class InfiniteGridMenu {
private onActiveItemChange: (index: number) => void,
private onMovementChange: (isMoving: boolean) => void,
private onInit?: (menu: InfiniteGridMenu) => void,
scale: number = 1.0
scale: number = 3.0
) {
this.scaleFactor = scale;
this.camera.position[2] = 3 * scale;
this.camera.position[2] = scale;
this.init();
}
@@ -1133,6 +1133,26 @@ watch(
},
{ deep: true }
);
watch(
() => props.scale,
() => {
if (infiniteMenu && canvasRef.value) {
infiniteMenu.destroy();
infiniteMenu = new InfiniteGridMenu(
canvasRef.value,
resolvedItems.value,
handleActiveItem,
moving => {
isMoving.value = moving;
},
menu => menu.run(),
props.scale
);
}
}
);
</script>
<template>