RoboMan.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. var game = Atomic.game;
  2. var node = self.node;
  3. RoboMan = self;
  4. var controller = node.createJSComponent("AvatarController");
  5. var animCtrl = node.createComponent("AnimationController");
  6. var idle = true;
  7. var walk = false;
  8. var run = false;
  9. var jump = false;
  10. function start() {
  11. var cache = game.cache;
  12. var model = node.createComponent("AnimatedModel");
  13. model.setModel(cache.getResource("Model", "Models/RoboMan.mdl"));
  14. model.setMaterial(cache.getResource("Material", "Materials/Robot_01_Diffuse.xml"));
  15. model.castShadows = true;
  16. animCtrl.playExclusive("Models/RoboMan_Normal_Idle.ani", 0, true, 0.0);
  17. game.cameraNode.position = [0, 5.5, -10];
  18. }
  19. // we need an update or it doesn't run the start, fix in JSVM
  20. function update(timeStep) {
  21. if (idle != controller.idle) {
  22. idle = controller.idle;
  23. if (idle)
  24. animCtrl.playExclusive("Models/RoboMan_Normal_Idle.ani", 0, true, 0.1);
  25. else if (!idle && walk)
  26. {
  27. animCtrl.playExclusive("Models/RoboMan_Normal_Walk.ani", 0, true, 0.1);
  28. }
  29. else if (!idle && run)
  30. {
  31. animCtrl.playExclusive("Models/RoboMan_Normal_Run.ani", 0, true, 0.1);
  32. }
  33. else if (!idle && jump)
  34. {
  35. animCtrl.playExclusive("Models/RoboMan_Normal_JumpFall.ani", 0, true, 0.02);
  36. }
  37. }
  38. if (walk != controller.walk) {
  39. walk = controller.walk;
  40. jump = controller.jump;
  41. if (walk)
  42. animCtrl.playExclusive("Models/RoboMan_Normal_Walk.ani", 0, true, 0.1);
  43. else if (!walk && jump)
  44. {
  45. animCtrl.playExclusive("Models/RoboMan_Normal_JumpFall.ani", 0, true, 0.02);
  46. }
  47. }
  48. if (run != controller.run) {
  49. run = controller.run;
  50. jump = controller.jump;
  51. walk = controller.walk;
  52. if (run)
  53. animCtrl.playExclusive("Models/RoboMan_Normal_Run.ani", 0, true, 0.1);
  54. else if (!run && walk)
  55. {
  56. animCtrl.playExclusive("Models/RoboMan_Normal_Walk.ani", 0, true, 0.1);
  57. }
  58. else if (!run && jump)
  59. {
  60. animCtrl.playExclusive("Models/RoboMan_Normal_JumpFall.ani", 0, true, 0.02);
  61. }
  62. }
  63. // Plays the jump animation (atm it is just the run animation)
  64. if (jump != controller.jump) {
  65. jump = controller.jump;
  66. if (jump) {
  67. animCtrl.playExclusive("Models/RoboMan_Normal_JumpFall.ani", 0, true, 0.02);
  68. } else if (!jump && run) {
  69. animCtrl.playExclusive("Models/RoboMan_Normal_Run.ani", 0, true, 0.1);
  70. } else if (!jump && walk){
  71. animCtrl.playExclusive("Models/RoboMan_Normal_Walk.ani", 0, true, 0.1);
  72. } else {
  73. animCtrl.playExclusive("Models/RoboMan_Normal_Idle.ani", 0, true, 0.1);
  74. }
  75. }
  76. }