A Click & Drag component for A-Frame. Also on Github: https://github.com/kumitterer/aframe-click-drag-component
Kumi
9db44c0126
ownership transfer Bumped the version to 4.0.0 to signify a major update, reflecting potentially breaking changes or significant feature additions. Transitioned ownership details, including author, issue tracking URLs, and project homepage to a new maintainer, Kumi. This shift indicates a formal handover in project stewardship, ensuring continued support and development under new management. |
||
---|---|---|
dist | ||
src | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
.npmignore | ||
CHANGELOG.md | ||
LICENSE | ||
package.json | ||
README.md | ||
rollup.config.js | ||
yarn.lock |
aframe-click-drag-component
A Click & Drag component for A-Frame. This is a fork of the original aframe-click-drag-component to make it work in current versions of A-Frame (tested with 1.5.0).
Entities with the click-drag
component can be click and dragged around the 3D
scene. Even works whle the camera is moving or rotating!
Events
dragstart
Emitted with the following info:
offset: {x, y, z}
- The offset from entity center to drag position.depth
- the perpendicular distance from the screen to align the entity while draggingclientX
- the mouse event'sclientX
valueclientY
- the mouse event'sclientY
value
dragmove
Emitted with the following info:
nextPosition: {x, y, z}
- The next world position of the entity.clientX
- the mouse event'sclientX
valueclientY
- the mouse event'sclientY
value
dragend
Emitted with the following info:
offset: {x, y, z}
- The offset from entity center to drag position.velocity: {x, y, z}
- The smoothed velocity of the entity at dragend time.depth
- the perpendicular distance from the screen to align the entity while draggingclientX
- the final mouse event'sclientX
valueclientY
- the final mouse event'sclientY
value
Applying click-drag conditionally
You can conditionally apply click-drag
behaviors by specifying an enabled
attribute in your click-drag
property:
...
<a-sphere click-drag="enabled: false" position="0 1.25 -1" radius="1.25" color="#EF2D5E"></a-sphere>
...
Installation
Browser
Use directly from the unpkg CDN:
<head>
<script src="https://aframe.io/releases/0.3.0/aframe.min.js"></script>
<script src="https://unpkg.com/aframe-click-drag-component"></script>
<script>
registerAframeClickDragComponent(window.AFRAME);
</script>
</head>
<body>
<a-scene>
<a-sphere click-drag position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-camera look-controls-enabled="false"></a-camera>
</a-scene>
</body>
npm
Install via npm:
npm install aframe-click-drag-component
Then register and use.
import aframe from 'aframe';
import registerClickDrag from 'aframe-click-drag-component';
registerClickDrag(aframe);