nunchuck-js
Version:
Nunchuck.js library that provides a lot of nunchuck modules
51 lines (48 loc) • 1.64 kB
HTML
<html>
<head>
<title>My first Three.js app</title>
<style>canvas { width: 100%; height: 100% }</style>
</head>
<body>
<script src="three.min.js"></script>
<script src="util.js"></script>
<script>
var calibrate = [142,138];
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 10000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.BoxGeometry(700, 700, 700, 10, 10, 10);
var material = new THREE.MeshBasicMaterial({color: 0xfffff, wireframe: true});
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 1000;
function render(x,y,ax,ay,z) {
//requestAnimationFrame(render);
cube.rotation.x += ay;
cube.rotation.y -= ax;
camera.position.z = z;
camera.position.x =x*-1;
//x*-1;
camera.position.y = y*-1;
console.log(camera.position.x,camera.position.y);
//y*-1;
renderer.render(scene, camera);
};
//render();
subscribe(window.location.hostname,window.location.port,function(o){
var a = o.accelerometer;
var s = o.stick;
//console.log(a.aX,a.aY,a.aZ);
var normaX = scale(a.aX,0,255,-1,1);
var normaY = scale(a.aY,0,255,-1,1);
var normaZ = scale(a.aZ,0,255,1000,2000);
var normX = scale(s.x,0,255,-1000,1000);
var normY = scale(s.y,0,255,-1000,1000);
// console.log(normX);
render(normX,normY,normaX/10,normaY/10,normaZ);
});
</script>
</body>
</html>