Update: CC - Mouse Down (56if6ltmvm.js) 153 bytes modified

beta.r3js.org
-=yb4f310 2017-11-12 11:07:35 +01:00
parent 3e77cd8226
commit 87aaf45a16
1 changed files with 40 additions and 43 deletions

View File

@ -2,54 +2,51 @@ if (!this.entityLoaded) {
return;
}
/**
* First we find our crosshair
*/
var crosshair = GameLib.EntityManager.Instance.findComponentById('jl8hpa2pel');
var codeSnippet = function(type, rotation, scale, position) {
code = "mesh = " + type + ".clone();\n"
code += "mesh.position.x = " + position.x + ";\n";
code += "mesh.position.y = " + position.y + ";\n";
code += "mesh.position.z = " + position.z + ";\n";
code += "mesh.rotation.x = " + rotation.x + ";\n";
code += "mesh.rotation.y = " + rotation.y + ";\n";
code += "mesh.rotation.z = " + rotation.z + ";\n";
code += "mesh.scale.x = " + scale.x + ";\n";
code += "mesh.scale.y = " + scale.y + ";\n";
code += "mesh.scale.z = " + scale.z + ";\n";
code += "mesh.updateInstance();\n\n";
return code;
}
/**
* Target, is the x / y postion of the crosshair on the z=0 plane in the crosshair scene
*/
var target = new THREE.Vector3(crosshair.position.x, crosshair.position.y, 0);
var code = '';
/**
* We need the x/y/z position of an imaginary object, at target position, in the game scene
*/
var mInverse = new THREE.Matrix4().getInverse( crosshair.matrixWorld );
particle.position.applyMatrix4( mInverse );
var meshes = GameLib.EntityManager.Instance.queryComponents(GameLib.D3.Mesh);
meshes.map(
function(mesh) {
if (mesh.name.indexOf('Tree - Small Clone') !== -1) {
code += codeSnippet('treeSmall', mesh.rotation, mesh.scale, mesh.position);
}
if (mesh.name.indexOf('Tree - Medium Clone') !== -1) {
code += codeSnippet('treeMedium', mesh.rotation, mesh.scale, mesh.position);
}
if (mesh.name.indexOf('Tree - Large Clone') !== -1) {
code += codeSnippet('treeLarge', mesh.rotation, mesh.scale, mesh.position);
}
if (mesh.name.indexOf('Stone 1 Clone') !== -1) {
code += codeSnippet('stone1', mesh.rotation, mesh.scale, mesh.position);
}
if (mesh.name.indexOf('Stone 2 Clone') !== -1) {
code += codeSnippet('stone2', mesh.rotation, mesh.scale, mesh.position);
}
}
);
console.log(code);
var particleEngine = GameLib.EntityManager.Instance.findComponentById('mwnydjz3ez');
var particle = GameLib.EntityManager.Instance.findComponentById('ks1yk4yi1n');
var flamethrower = GameLib.EntityManager.Instance.findComponentById('y548ddx1ff');
var worldCamera = GameLib.EntityManager.Instance.findComponentById('zc2pq229fq');
var end = ;
end.unproject(worldCamera.instance);
//var crosshairPosition = crosshair.position.instance.clone();
//var flamethrowerPosition = worldCamera.position.instance.clone();
var direction = worldCamera.position.instance.clone().sub(end).normalize().negate();
console.log(direction);
particle.instance.position.x = worldCamera.position.x;// + direction.x * 0.3;
particle.instance.position.y = worldCamera.position.y;// + direction.y * 0.3;
particle.instance.position.z = worldCamera.position.z;// + direction.z * 0.3;
var sensitivity = 0.1;
particle.direction.instance.x = direction.x * sensitivity;
particle.direction.instance.y = direction.y * sensitivity;
particle.direction.instance.z = direction.z * sensitivity;
particleEngine.enabled = true;
return null;
//@ sourceURL=mouseDown.js