Guest User

Untitled

a guest
Oct 21st, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. // 0 ×
  2. // 1 ○
  3. // 2 □
  4. // 3 △
  5. // 4 L1
  6. // 5 R1
  7. // 6 L2
  8. // 7 R2
  9. // 8 share
  10. // 9 options
  11. // 10 L3
  12. // 11 R3
  13. // 12 方向キー上
  14. // 13 方向キー下
  15. // 14 方向キー左
  16. // 15 方向キー右
  17. // 16 PSボタン
  18. // 17 タッチパッド
  19.  
  20. var buttonNames = [
  21. "×", "○", "□", "△",
  22. "L1", "R1", "L2", "R2",
  23. "SH", "OP",
  24. "L3", "R3",
  25. "↑", "↓", "←", "→",
  26. "PS", "TP"
  27. ];
  28.  
  29. function setup() {
  30. createCanvas(800, 450);
  31. strokeJoin(ROUND);
  32. textAlign(CENTER, CENTER);
  33.  
  34. }
  35.  
  36. function draw() {
  37. background(200);
  38.  
  39. // スティック用枠
  40. stroke(0);
  41. noFill();
  42. strokeWeight(3);
  43. rectMode(CORNER);
  44. rect(25, 25, 300, 300);
  45. rect(375, 25, 300, 300);
  46.  
  47. // ボタン名テキスト
  48. noStroke();
  49. fill(0);
  50. textSize(20);
  51. for (var i = 0; i < buttonNames.length; i++) {
  52. text(buttonNames[i], i * 40 + 30, 410);
  53. }
  54. text("Lstick", 175, 350);
  55. text("Rstick", 525, 350);
  56.  
  57. var pads = navigator.getGamepads ? navigator.getGamepads() :
  58. (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : []);
  59.  
  60. pads = pads[0];
  61. if (pads) {
  62. var but = [];
  63. for (var i = 0; i < pads.buttons.length; i++) {
  64. var val = pads.buttons[i];
  65. var pressed = val == 1.0;
  66. if (typeof(val) == "object") {
  67. pressed = val.pressed;
  68. val = val.value;
  69. }
  70. but[i] = val;
  71. }
  72.  
  73. // 押されたら枠をつける
  74. noFill();
  75. strokeWeight(3);
  76. stroke(255, 0, 0);
  77. for (var index = 0; index < but.length; index++) {
  78. if (but[index] == 1) {
  79. rectMode(CENTER);
  80. rect(index * 40 + 30, 410, 40, 30);
  81. }
  82. }
  83.  
  84. var axes = pads.axes;
  85.  
  86. // スティックの位置をマッピング
  87. var Lx = map(axes[0], -1, 1, 25, 325);
  88. var Ly = map(axes[1], -1, 1, 25, 325);
  89. var Rx = map(axes[2], -1, 1, 375, 675);
  90. var Ry = map(axes[3], -1, 1, 25, 325);
  91.  
  92. strokeWeight(1);
  93. stroke(0);
  94. fill(255);
  95. ellipse(Lx, Ly, 20, 20);
  96. ellipse(Rx, Ry, 20, 20);
  97. }
  98. }
Add Comment
Please, Sign In to add comment