;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL

Topo

Neymar provou que é um ótimo jogador de Among Us

O pai esteve on em Among Us, com direito a um show de dibres nos tripulantes como Impostor e momentos memoráveis de juliete - Arte/UOL
O pai esteve on em Among Us, com direito a um show de dibres nos tripulantes como Impostor e momentos memoráveis de juliete Imagem: Arte/UOL

Do START, em São Paulo

04/10/2020 04h00

Dos mesmos criadores de Menino e Adulto Ney, vem aí, Streamer Ney. O atacante do Paris Saint-Germain fez sua primeira live hoje (1) na Twitch. Junto dos parças Nenê, meia do Fluminense, André Akkari, um dos sócios da FURIA Esports, além dos amigos de infância Jota Amancio, Cris Guedes e Gui Pitta (que trabalham com o astro do futebol), a live bateu o pico de mais de 100 mil espectadores.

Não é de hoje que o craque demonstra sua paixão por jogos, principalmente Counter-Strike: Global Offensive. Amigo dos pro-players da MIBR e torcedor roxo da FURIA, Neymar constantemente divulga suas jogadas nas redes sociais e até pediu ajuda para a Valve desbloquear sua conta na Steam.

Ainda não foi confirmada a programação das transmissões de Neymar na Twitch, mas já podemos garantir que após as jogadas de CS:GO, o atacante deu um show de dribles como Impostor em Among Us, jogo desenvolvido pela Innersloth para smartphones e PC, que ultraou a marca de 100 milhões de s no mundo, segundo o site Dot Esports.

No jogo, você é parte de um grupo de tripulantes que deve conduzir tarefas de rotina para manter uma espaçonave funcionando. Porém, pelo menos um dos tripulantes é um traidor - impostor, no caso - que buscará matar você e seus companheiros (sabotando a nave ou assassinando).

Em duas partidas, Neymar saiu vitorioso no papel de Impostor, confira um trecho provando a sagacidade do jogador:

Se o assunto é ser Impostor em Among Us, a mentira é a principal ferramenta para contornar as investigações dos outros tripulantes:

Apesar de algumas vitórias na pele de Impostor, o craque chegou a ser descoberto e esta foi sua reação ao ser expulso da espaço nave:

E a comunidade não deixou de mandar perguntas épicas em busca de uma resposta precisa, concisa e lúcida do grande historiador e filósofo Ney:

Esta, meu caro leitor do START, é a face do Impostor ao ser descoberto. Aprecie com moderação:

"Para não prejudicar aqueles que não prestaram atenção ao lance, vamos mostrá-lo novamente com a magia do replay imediato":

Tentamos contato com o twitteiro 'Mlk de SP', mas tudo indica que seu TCC mudou de tema para: "Neymar e a psiquê em Among Us: Uma análise de como a psicanálise aborda o comportamento de Impostor do craque em lives do jogo multiplayer":

O co-fundador e CEO da FURIA, Jaime Padua, e nem mesmo Ney seguraram a risada após a aula de jogabilidade:

A foto do avatar do youtuber e comediante, Marcos Castro, definiu a reação dele diante da repercussão da 'livezinha' com humildes 100 mil espectadores:

Se perdeu, confia. Se ganhou, confia também:

Vale ressaltar que no Twitter, a palavra Neymar estava no topo dos assuntos mais comentados da plataforma:

Fim da live, fim de jogo com duas vitórias de Among Us na conta, juliete no grau e até o momento desta matéria, cerca de 455 mil seguidores na Twitch.

Porém um pequeno - grande e colossal - detalhe, antes de terminar sua leitura e arrematar nosso compilado de reações da comunidade, é o simples fato de que a live completa de Neymar chegou a quase 2 milhões de visualizações na plataforma:

Neymar Twitch  - Reprodução/Twitch - Reprodução/Twitch
Imagem: Reprodução/Twitch

Para acompanhar o vídeo na íntegra, se increver e ficar por dentro das próximas lives do atleta, acompanhe seu canal oficial na Twitch.

SIGA O START NAS REDES SOCIAIS

Twitter: https://twitter.com/start_uol
Instagram: https://www.instagram.com/start_uol/
Facebook: https://www.facebook.com/startuol/
TikTok: http://vm.tiktok.com/Rqwe2g/
Twitch: https://www.twitch.tv/start_uol