jogo.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. var estilo = { font: "40px Arial", fill: "#fff", align: "center" };
  2. var longitude = 0;
  3. var latitude = 0;
  4. var local;
  5. var msg;
  6. var Jogo = new Phaser.Class({
  7. Extends: Phaser.Scene,
  8. initialize:
  9. function Jogo ()
  10. {
  11. // note: the pack:{files[]} acts like a pre-preloader
  12. // this eliminates the need for an extra "boot" scene just to preload the loadingbar images
  13. Phaser.Scene.call(this, {
  14. key: 'jogo'
  15. //pack: {
  16. // files: [
  17. // { type: 'image', key: 'loadingbar_bg', url: 'img/loadingbar_bg.png' },
  18. // { type: 'image', key: 'loadingbar_fill', url: 'img/loadingbar_fill.png' }
  19. // ]
  20. //}
  21. });
  22. },
  23. preload: function ()
  24. {
  25. this.load.image('fundo', 'img/background.jpg');
  26. this.load.image('btEncerrar', 'img/bto_encerrar.png');
  27. this.load.image('paisagem', 'img/3840.jpg');
  28. },
  29. create: function ()
  30. {
  31. this.fundo = this.add.image(487, 775, 'fundo');
  32. this.paisagem = this.add.image(490, 650, 'paisagem');
  33. const btoEncerrar = this.add.image(500, 400, 'btEncerrar', { fill: '#0f0' })
  34. .setInteractive()
  35. .on('pointerdown', () => this.doVoltar() );
  36. local = this.add.text(300,1250,local,estilo);
  37. msg = this.add.text(200,950,local,estilo);
  38. msg.setText('Inicie sua caminhada!\n\nNão esqueça de apertar o botão\n\nEncerrar quando terminar.');
  39. //this.limpaDados();
  40. this.registraInicio();
  41. //this.insereTeste();
  42. },
  43. update: function ()
  44. {
  45. setTimeout(this.getLocation(),5000);
  46. },
  47. handleOrientation: function (e) {
  48. // Device Orientation API
  49. var x = e.gamma; // range [-90,90], left-right
  50. var y = e.beta; // range [-180,180], top-bottom
  51. var z = e.alpha; // range [0,360], up-down
  52. },
  53. getLocation: function () {
  54. //this.simulaLocalizacao();
  55. if (navigator.geolocation) {
  56. navigator.geolocation.getCurrentPosition(this.mostraLocalizacao, this.simulaLocalizacao, { timeout:5000 });
  57. } else{this.add.text="O seu navegador não suporta Geolocalização.";}
  58. },
  59. mostraLocalizacao: function (position) {
  60. latitude = position.coords.latitude;
  61. longitude = position.coords.longitude;
  62. local.setText('la: ' + latitude + '\nlo: ' + longitude + ', ');
  63. var data = localStorage.getItem('Data');
  64. if (data == null) data = '';
  65. var hoje = new Date();
  66. localStorage.setItem('Data', data + ', ' + hoje);
  67. data = localStorage.getItem('Local');
  68. if (data == null) data = '';
  69. localStorage.setItem('Local', data + 'la: ' + latitude + ' lo: ' + longitude + ', ');
  70. },
  71. simulaLocalizacao: function (error) {
  72. /*if (latitude == 0) latitude = -23.5809644;
  73. if (longitude == 0) longitude = -46.7738114;
  74. latitude = latitude - 0.00000002;
  75. longitude = longitude - 0.00000002;
  76. local.setText('la: ' + latitude + '\nlo: ' + longitude + ', ');*/
  77. var data = localStorage.getItem('Data');
  78. if (data == null) data = '';
  79. var hoje = new Date();
  80. localStorage.setItem('Data', data + hoje + ', ');
  81. data = localStorage.getItem('Local');
  82. if (data == null) data = '';
  83. localStorage.setItem('Local', data + 'SIMULAR DADOS, ');
  84. },
  85. registraInicio: function () {
  86. var marca = localStorage.getItem('Data');
  87. localStorage.setItem('Data', marca + '| ');
  88. marca = localStorage.getItem('Local');
  89. localStorage.setItem('Local', marca + '| ');
  90. },
  91. limpaDados: function () {
  92. var strNome = '';
  93. do {
  94. strNome = localStorage.key(0);
  95. localStorage.removeItem(strNome);
  96. } while (localStorage.length > 0);
  97. localStorage.setItem('MetaDeHoje', '200'); //--- precisa ser criado uma scena individual para a definição de metas
  98. },
  99. doVoltar: function ()
  100. {
  101. this.scene.start('inicio');
  102. },
  103. insereTeste: function () {
  104. // --- insere dados de teste ---
  105. localStorage.setItem('Data', '100|Thu May 16 2019 13:05:39 GMT-0300 (Horário Padrão de Brasília), Thu May 16 2019 13:07:41 GMT-0300 (Horário Padrão de Brasília), Thu May 16 2019 13:08:00 GMT-0300 (Horário Padrão de Brasília)');
  106. localStorage.setItem('Local', '|la: -23.580767 lo: -46.774423, la: -23.581152 lo: -46.773000, la: -23.580916 lo: -46.772764');
  107. //-------------------------------
  108. //alert(localStorage.getItem('Data'));
  109. }
  110. });