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

'Thor 4' é para os fãs de Guns 'N Roses, não para quem gosta da Marvel

"Thor: Amor e Trovão" é a quarta aventura solo do herói na Marvel
Imagem: 'Thor: Amor e Trovão' é a quarta aventura solo do herói na Marvel

Fernanda Talarico

De Splash, em São Paulo

06/07/2022 04h00

"Thor: Amor e Trovão" continua a história do Deus do Trovão da Marvel e traz de volta Jane Foster, interpretada por Natalie Portman, que dessa vez também dá vida à Poderosa Thor. No novo longa da Marvel, Thor (Chris Hemsworth) luta contra Gorr (Christian Bale), um poderoso inimigo que tem como objetivo matar todos os deuses.

Thor: Amor e Trovão

Lançamento: 2022 Duração: 1h59min Pais: Estados Unidos Status: Em Cartaz Direção: Taika Waititi

Depois do final dramático de "Vingadores: Ultimato" (2019), finalmente reencontramos Thor. O personagem vivido por Chris Hemsworth está de volta às telonas em "Thor: Amor e Trovão", o quarto filme do herói. Desta vez, a história acompanha o Deus do Trovão na perigosa missão de impedir que o vilão Gorr (Christian Bale).

Já faz um bom tempo que os filmes da Marvel não se sustentam sozinhos e precisam de diversas explicações que foram dadas em outros longas do Universo Cinematográfico da Marvel, o MCU. Em "Thor: Amor e Trovão" a narrativa está longe de se basear nisso.

Diferente do que estamos acostumados nas outras produções do estúdio, tudo o que é preciso saber, o roteiro nos conta. Desde o que aconteceu com Jane Foster no período em que ela não apareceu nos títulos anteriores (também conhecido como: filmes que Natalie Portman não quis participar), até o treino de Thor para voltar à forma física de sempre. Ele inicia o longa gordo, do mesmo jeito que o vimos ao final de "Vingadores: Ultimato".

Com a direção de Taika Waititi, cineasta também responsável por "Thor: Ragnarok" (2017), o filme ganha essa autonomia de não precisar se apoiar nas produções anteriores ou iniciar algo.

Em "Thor: Amor e Trovão" o principal componente é o humor. Ele se mistura com o drama do câncer da Jane Foster e com a triste história de Gorr, mas a comédia é o tom principal deste filme. Mesmo a aventura que esperamos assistir em um filme de super-herói é rebaixada para segundo lugar, não é prioridade.

Waititi, que também é roteirista e ator do longa (ele interpreta o amigo de Thor, Korg), não parece se preocupar com o que um fã da Marvel espera de um filme do estúdio. A impressão é que ele quer agradar outro público, os saudosistas dos anos 1980. Desde a trilha sonora, que toca diversas músicas de Guns 'N Roses, até as cores neons, tudo indica que o título foi feito para os adoradores da década de 1980.

Em entrevista a Splash, Taika Waititi contou que escolheu a banda para embalar a história por ser o seu grupo musical favorito. "Eu tenho o primeiro álbum, foi o primeiro que eu comprei, o 'Appetite for Destruction'. Eu era jovem e era um som que eu nunca tinha ouvido antes". As sequências de ação contam com músicas como "Welcome to the Jungle" como trilha, tornando as cenas quase que videoclipes do Guns N Roses, com cabras que gritam correndo em arco-íris.

A escolha estética e musical, somada ao uso sem limites de piadas e o abandono da necessidade de conectar o roteiro com outras produções da Marvel pode causar revolta nos fãs do estúdio. Sempre muito ortodoxos com seus queridos personagens, a visão da bunda do Thor ou as piadas a todo tempo podem causar estranhamento e até mesmo a revolta dos seguidores do MCU. Já para os fãs de Guns 'N Roses ou para aqueles que apenas querem se divertir, "Thor: Amor e Trovão" é um prato cheio.