2018-03-24 17:16:36 +01:00
|
|
|
if (!this.entityLoaded) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!this.initialized) {
|
2018-03-24 17:29:10 +01:00
|
|
|
|
|
|
|
this.camera = this.entityLoaded.camera;
|
|
|
|
this.buttons = this.entityLoaded.buttons;
|
|
|
|
this.raycaster = this.entityLoaded.raycaster;
|
2018-03-24 18:24:12 +01:00
|
|
|
this.canvasHUD = this.entityLoaded.canvasHUD;
|
2018-03-24 17:29:10 +01:00
|
|
|
|
2018-03-24 17:16:36 +01:00
|
|
|
this.initialized = true;
|
|
|
|
}
|
2018-03-24 17:22:36 +01:00
|
|
|
|
2018-03-24 17:24:03 +01:00
|
|
|
var mouse = {
|
|
|
|
x : (data.event.offsetX / data.event.target.width ) * 2 - 1,
|
|
|
|
y : -(data.event.offsetY / data.event.target.height) * 2 + 1
|
|
|
|
}
|
|
|
|
|
2018-03-24 17:35:30 +01:00
|
|
|
this.raycaster.setFromCamera(
|
|
|
|
mouse,
|
|
|
|
this.camera
|
|
|
|
);
|
2018-03-24 17:22:36 +01:00
|
|
|
|
2018-03-24 17:35:30 +01:00
|
|
|
this.raycaster.getIntersectedObjects(this.buttons).map(
|
|
|
|
function(intersect) {
|
2018-03-24 17:58:36 +01:00
|
|
|
|
2018-03-24 18:12:05 +01:00
|
|
|
var pixels = intersect.mesh.materials[0].diffuseMap.image.getPixelData();
|
2018-03-24 17:58:36 +01:00
|
|
|
|
2018-03-24 18:12:05 +01:00
|
|
|
var image = [[]]
|
|
|
|
|
|
|
|
var x = 0;
|
|
|
|
var y = 0;
|
|
|
|
|
|
|
|
var alphas = [];
|
|
|
|
|
|
|
|
for (i = 0; i < pixels.length; i += 4) {
|
2018-03-24 18:12:30 +01:00
|
|
|
alphas.push(pixels[i + 3]);
|
2018-03-24 18:12:05 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
var x = Math.round(intersect.uv.x * 256);
|
2018-03-24 18:25:45 +01:00
|
|
|
var y = Math.round(1 - intersect.uv.y * 256);
|
2018-03-24 18:00:36 +01:00
|
|
|
|
2018-03-24 18:25:45 +01:00
|
|
|
/*
|
2018-03-24 18:24:12 +01:00
|
|
|
for (var x = 0; x < 256; x++) {
|
|
|
|
|
|
|
|
var line = '';
|
|
|
|
|
|
|
|
for (var y = 0; y < 256; y++) {
|
|
|
|
line += alphas[(256 * y) + x];
|
|
|
|
}
|
|
|
|
|
|
|
|
console.log(line);
|
|
|
|
}
|
2018-03-24 18:25:45 +01:00
|
|
|
*/
|
2018-03-24 18:24:12 +01:00
|
|
|
|
2018-03-24 18:25:45 +01:00
|
|
|
var pixel = alphas[(256 * y) + x];
|
2018-03-24 18:00:36 +01:00
|
|
|
|
2018-03-24 18:25:45 +01:00
|
|
|
console.log(intersect.mesh.name + ' : ' + pixel);
|
2018-03-24 18:14:08 +01:00
|
|
|
|
|
|
|
|
2018-03-24 17:35:30 +01:00
|
|
|
}
|
|
|
|
);
|
2018-03-24 17:15:24 +01:00
|
|
|
//@ sourceURL=mouseDown.js
|