UI.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. var component = function(self) {
  2. var width = Atomic.graphics.width;
  3. var height = Atomic.graphics.height;
  4. var ratio = width/height;
  5. var rect = [width/10, height/2, width/2, height];
  6. // var rect = [0, 0, 200, 200];
  7. self.start = function() {
  8. //load a special skin
  9. Atomic.ui.loadSkin("Ui/touchButtonsSkin.ui");
  10. //create a new UIView special for ours ui
  11. var view = new Atomic.UIView();
  12. view.setPosition(-width/8, height/10);
  13. var dpad = new Atomic.UILayout();
  14. dpad.rect = view.rect;
  15. // dpad.rect = rect;
  16. //dpad.load("Ui/touchButtonsUI.ui");
  17. var layoutParamsUpDown = new Atomic.UILayoutParams();
  18. layoutParamsUpDown.minWidth = 61;
  19. layoutParamsUpDown.minHeight = 75;
  20. layoutParamsUpDown.width = 61*2;
  21. layoutParamsUpDown.height = 75*2;
  22. layoutParamsUpDown.maxWidth = 61*6;
  23. layoutParamsUpDown.maxHeight = 75*6;
  24. var layoutParamsLeftRight = new Atomic.UILayoutParams();
  25. layoutParamsLeftRight.minWidth = 75;
  26. layoutParamsLeftRight.minHeight = 61;
  27. layoutParamsLeftRight.width = 75*2;
  28. layoutParamsLeftRight.height = 61*2;
  29. layoutParamsLeftRight.maxWidth = 75*6;
  30. layoutParamsLeftRight.maxHeight = 61*6;
  31. self.leftLayout = new Atomic.UILayout();
  32. self.leftLayout.rect = dpad.rect;
  33. self.leftButton = new Atomic.UIButton();
  34. self.leftButton.skinBg = "TouchButtonLeft";
  35. self.leftButton.layoutParams = layoutParamsLeftRight;
  36. self.leftLayout.addChild(self.leftButton);
  37. self.rightLayout = new Atomic.UILayout();
  38. self.rightButton = new Atomic.UIButton();
  39. self.rightButton.skinBg = "TouchButtonRight";
  40. self.rightButton.layoutParams = layoutParamsLeftRight;
  41. self.rightLayout.addChild(self.rightButton);
  42. self.upDownLayout = new Atomic.UILayout();
  43. self.upDownLayout.rect = dpad.rect;
  44. self.upDownLayout.axis = Atomic.UI_AXIS_Y;
  45. self.upDownLayout.spacing = 50;
  46. self.upButton = new Atomic.UIButton();
  47. self.upButton.skinBg = "TouchButtonUp";
  48. self.upButton.layoutParams = layoutParamsUpDown;
  49. self.upDownLayout.addChild(self.upButton);
  50. self.downButton = new Atomic.UIButton();
  51. self.downButton.skinBg = "TouchButtonDown";
  52. self.downButton.layoutParams = layoutParamsUpDown;
  53. self.upDownLayout.addChild(self.downButton);
  54. self.rightLayout.layoutSize = Atomic.UI_LAYOUT_SIZE_PREFERRED;
  55. self.leftLayout.layoutSize = Atomic.UI_LAYOUT_SIZE_PREFERRED;
  56. self.upDownLayout.layoutSize = Atomic.UI_LAYOUT_SIZE_PREFERRED;
  57. dpad.addChild(self.leftLayout);
  58. dpad.addChild(self.upDownLayout);
  59. dpad.addChild(self.rightLayout);
  60. view.addChild(dpad);
  61. self.leftButton.setCapturing(false);
  62. self.rightButton.setCapturing(false);
  63. self.upButton.setCapturing(false);
  64. Atomic.input.bindButton(self.rightButton, Atomic.KEY_D);
  65. Atomic.input.bindButton(self.leftButton, Atomic.KEY_A);
  66. Atomic.input.bindButton(self.upButton, Atomic.KEY_SPACE);
  67. Atomic.input.setTouchEmulation(true);
  68. }
  69. }
  70. exports.component = component;