Utils.js 1001 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. function CreateCrateStack(x, z, crates) {
  2. var scene = Atomic.game.scene;
  3. y = 1;
  4. for (var i = 0; i < crates; i++) {
  5. var crate = scene.createChild("Crate");
  6. crate.position = [x, y, z];
  7. crate.createJSComponent("Crate");
  8. y += 2;
  9. }
  10. }
  11. function QuatFromEuler(x, y, z) {
  12. M_PI = 3.14159265358979323846264338327950288;
  13. var q = [0, 0, 0, 0];
  14. // Order of rotations: Z first, then X, then Y (mimics typical FPS camera with gimbal lock at top/bottom)
  15. x *= (M_PI / 360);
  16. y *= (M_PI / 360);
  17. z *= (M_PI / 360);
  18. var sinX = Math.sin(x);
  19. var cosX = Math.cos(x);
  20. var sinY = Math.sin(y);
  21. var cosY = Math.cos(y);
  22. var sinZ = Math.sin(z);
  23. var cosZ = Math.cos(z);
  24. q[0] = cosY * cosX * cosZ + sinY * sinX * sinZ;
  25. q[1] = cosY * sinX * cosZ + sinY * cosX * sinZ;
  26. q[2] = sinY * cosX * cosZ - cosY * sinX * sinZ;
  27. q[3] = cosY * cosX * sinZ - sinY * sinX * cosZ;
  28. return q;
  29. }