;(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

Kobe Bryant: Pro-players de CS:GO e LoL prestam tributo ao astro

Os esportes e os eSports lamentam a morte de Kobe Bryant. - Reprodução / Internet
Os esportes e os eSports lamentam a morte de Kobe Bryant. Imagem: Reprodução / Internet

Do START, em São Paulo

27/01/2020 12h56

Não foram só jogadores de basquete e futebol que sentiram a perda de Kobe Bryant neste domingo (26), após acidente de helicóptero. Pelo Twitter, jogadores profissionais de Counter-Strike e League of Legends, entre outros eSports, também prestaram sua homenagem ao ex-jogador de basquete e vencedor do Oscar 2018 na categoria Melhor Curta de Animação. Bryant tinha 41 anos e foi uma das maiores estrelas do basquete mundial.

O ex-jogador estava com outras oito pessoas na aeronave durante o acidente. A filha de Bryant, Gianna Maria Bryant, de 13 anos, também estava a bordo do helicóptero que caiu na cidade de Calabasas, na Califórnia, Estados Unidos. Não houve sobreviventes e a causa da queda ainda não foi identificada.

Um dos maiores nomes na história da NBA, Bryant venceu cinco campeonatos e atingiu a segunda maior marca de pontos na NBA em uma única partida quando marcou 81 contra o Toronto Raptors em 2006, com 18 aparições no All Star Game. Além disso, Kobe recebeu um Oscar em 2018 pelo curta Dear Basketball, inspirado em um poema feito por ele mesmo em sua carta de aposentadoria.

Das quadras para os games, o ex-jogador do Lakers recebeu inúmeras homenagens vindas de organizações de eSports e pro-players nas redes sociais.

Logo após o segundo dia de CBLoL, brTT foi um dos primeiros a se pronunciar:

Para FalleN, da MiBR, Black Mamba continuará inspirando por décadas:

A KaBuM relembrou um dos maiores ensinamentos do ídolo:

A Team Liquid também prestou suas homenagens:

Halier, coach de "League of Legends" do Santos eSports, compartilhou a frase:
"A dor não diz quando você deve parar. A dor é a vozinha em sua cabeça que tenta impedi-lo pois sabe que, se você continuar, você irá mudar"

O e da Falkol, Marcelo "Riyev", relembra de sempre ter se inspirado nele como jogador profissional:

Ranger, do Flamengo, também conta ter sido inspirado diversas vezes por Bryant:

A Fnatic declarou que ele não apenas inspirou as pessoas a vencer..

Os leões de Los Angeles da Gladiators, equipe de Overwatch, rugiram suas condolências a família de Bryant: Na INTZ, Kobe era lição de casa dada por Ale Apoka aos jogadores de CS:GO:

A 2K Games prestou tributo ao ídolo dentro do NBA2K20 com um banner de Kobe em preto e branco na tela de início do jogo:

Ainda no game, os jogadores colocaram o uniforme do Lakers nos avatares e fizeram tributo na NBA Store dentro do The Neighborhood.

Os fãs se manifestaram e levantaram uma petição para que a desenvolvedora do jogo liberasse a camisa do craque, e que ele seja a capa de NBA 2K21.

Descanse em paz, Kobe.

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