Advertisement
Guest User

Untitled

a guest
May 27th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. export default class OkButton extends PIXI.Container {
  2.  
  3. private texture: PIXI.Texture;
  4.  
  5. constructor(text: string, offsetX: number, offsetY: number, clickCallback: () => any) {
  6. super();
  7.  
  8. const loader = new PIXI.loaders.Loader();
  9.  
  10. loader.add('button_left', './extras/data/images/buttons/button_left.png')
  11. .add('button_middle', './extras/data/images/buttons/button_middle.png')
  12. .add('button_right', './extras/data/images/buttons/button_right.png')
  13. .add('button_left_press', './extras/data/images/buttons/button_left_press.png')
  14. .add('button_middle_press', './extras/data/images/buttons/button_middle_press.png')
  15. .add('button_right_press', './extras/data/images/buttons/button_right_press.png');
  16.  
  17. loader.load((loader: PIXI.loaders.Loader, resources: PIXI.loaders.ResourceDictionary) => {
  18. let buttonLeft = new PIXI.Sprite(resources.button_left.texture);
  19. let buttonMiddle = new PIXI.Sprite(resources.button_middle.texture);
  20. let buttonRight = new PIXI.Sprite(resources.button_right.texture);
  21.  
  22.  
  23. buttonMiddle.interactive = true;
  24. buttonMiddle.buttonMode = true;
  25.  
  26. buttonMiddle.on('pointerdown', function () {
  27. this.texture = resources.button_middle_press.texture;
  28. buttonLeft.texture = resources.button_left_press.texture;
  29. buttonRight.texture = resources.button_right_press.texture;
  30. });
  31.  
  32. buttonMiddle.on('pointerup', function () {
  33. this.texture = resources.button_middle.texture;
  34. buttonLeft.texture = resources.button_left.texture;
  35. buttonRight.texture = resources.button_right.texture;
  36. clickCallback();
  37. });
  38.  
  39. let buttonText = new PIXI.Text(text, {
  40. fontSize: 10,
  41. fontFamily: 'Volter-Bold'
  42. });
  43.  
  44. buttonLeft.x = offsetX;
  45. buttonLeft.y = offsetY;
  46.  
  47. buttonMiddle.x = buttonLeft.x + buttonLeft.width;
  48. buttonMiddle.y = offsetY;
  49. buttonMiddle.width = buttonText.width + 6;
  50.  
  51. buttonText.x = 1 + (buttonMiddle.x + ((buttonMiddle.width / 2) - buttonText.width / 2));
  52. buttonText.y = buttonMiddle.y + ((buttonMiddle.height / 2) - buttonText.height / 2);
  53.  
  54. buttonRight.x = buttonMiddle.x + buttonMiddle.width;
  55. buttonRight.y = offsetY;
  56.  
  57. super.addChild(buttonLeft);
  58. super.addChild(buttonMiddle);
  59. super.addChild(buttonText);
  60. super.addChild(buttonRight);
  61. });
  62. }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement