three.interaction-fork

0.0.1 • Public • Published

three.interaction

npm javascript style guide Standard Version

a full-interaction event manager, help three.js binding interaction event more simple

install

npm install -S three.interaction

usage

import { Scene, PerspectiveCamera, WebGLRenderer, Mesh, BoxGeometry, MeshBasicMaterial } from 'three';
import { Interaction } from 'three.interaction';
 
const renderer = new WebGLRenderer({ canvas: canvasElement });
const scene = new Scene();
const camera = new PerspectiveCamera(60, width / height, 0.1, 100);
 
// new a interaction, then you can add interaction-event with your free style
const interaction = new Interaction(renderer, scene, camera);
 
const cube = new Mesh(
  new BoxGeometry(1, 1, 1),
  new MeshBasicMaterial({ color: 0xffffff }),
);
scene.add(cube);
cube.cursor = 'pointer';
cube.on('click', function(ev) {});
cube.on('touchstart', function(ev) {});
cube.on('touchcancel', function(ev) {});
cube.on('touchmove', function(ev) {});
cube.on('touchend', function(ev) {});
cube.on('mousedown', function(ev) {});
cube.on('mouseout', function(ev) {});
cube.on('mouseover', function(ev) {});
cube.on('mousemove', function(ev) {});
cube.on('mouseup', function(ev) {});
// and so on ...
 
/**
 * you can also listen on parent-node or any display-tree node,
 * source event will bubble up along with display-tree.
 * you can stop the bubble-up by invoke ev.stopPropagation function.
 */
scene.on('touchstart', ev => {
  console.log(ev);
})
scene.on('touchmove', ev => {
  console.log(ev);
})
 

Documentation

documentation

Examples

examples cube

examples cube overlap

Package Sidebar

Install

npm i three.interaction-fork

Weekly Downloads

1

Version

0.0.1

License

MIT

Unpacked Size

828 kB

Total Files

19

Last publish

Collaborators

  • lokiiarora