useMoveByKeyboard
Moving parallel to the ground.
To move forward, backward, left, and right, use W S A D. Press Shift to move downward and Space to move upward.
使用
js
const speed = ref(1)
useMoveByKeyboard({
// distancePerFrame: 1,
distancePerFrame: speed,
keybinding: {
forward: 'ArrowUp',
backward: 'ArrowDown',
left: 'ArrowLeft',
right: 'ArrowRight'
}
})The distancePerFrame accepts a reactive numeric parameter to dynamically adjust the movement speed.When you wish to disable movement, you can simply set it to { distancePerFrame: 0 }. You can modify key bindings through the keybinding option.
distancePerFrame can also accept a function for finer-grained control over speed:
js
useMoveByKeyboard({
distancePerFrame(key) {
if (key === 'backward')
return 1
return 3
}
})Optional Keys
Key bindings are based on useMagicKeys implementation from vueuse. For more optional keys, see mozilla.
demo
Type Declarations
Details
ts
export type UseMoveByKeyboardKeybindingList =
| "forward"
| "backward"
| "left"
| "right"
| "down"
| "up"
export interface UseMoveByKeyboardOptions {
distancePerFrame?:
| MaybeRef<number>
| ((key: UseMoveByKeyboardKeybindingList) => number)
keybinding?: Partial<Record<UseMoveByKeyboardKeybindingList, string>>
}
/**
* Moving parallel to the ground.
*
* To move forward, backward, left, and right, use `W S A D`. Press `Shift` to move downward and `Space` to move upward.
*/
export declare function useMoveByKeyboard(
options?: UseMoveByKeyboardOptions,
): void