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

Keanu Reeves se ajoelha diante dos brasileiros na CCXP: 'De tirar o fôlego'

Keanu Reeves antecipou detalhes do filme "John Wick 4" na CCXP, em São Paulo - Twitter/@CCXPoficial
Keanu Reeves antecipou detalhes do filme 'John Wick 4' na CCXP, em São Paulo Imagem: Twitter/@CCXPoficial

Colaboração para Splash, em São Paulo

04/12/2022 11h12

Keanu Reeves foi convidado especial do "CCXP" ontem, em São Paulo. No palco Omelete, o ator comentou o filme "John Wick 4", cuja estreia está prevista para março de 2023, e garantiu que terá mais ação que nunca.

Além disso, em outro momento, ele ficou de joelhos no evento, em agradecimento ao carinho dos fãs brasileiros.

Assim que chegou para a entrevista no evento, Keanu foi recepcionado pelo público gritando, em uníssono, "você é de tirar o fôlego". Ele respondeu: "O quê? Vocês que são de tirar o fôlego!".

O ator começou falando sobre como é interpretar John Wick e as surpresas que o personagem traz. "É um papel extraordinário, eu consigo fazer tantas coisas malucas. Seja andar a cavalo ou ter uma briga de facas. Mas é o mundo de John Wick. O que vai acontecer? Não faço ideia, e é legal".

John Wick 4

Quando questionado se tinha mais cenas de ações "exageradas" em comparação aos seus filmes anteriores, o ator respondeu: "O que é exagerado? Tem mais ação neste filme. E... É, acho que o diretor tem uma visão para tentar tornar as cenas interessantes. Tem uma grande briga no meio da rua, em frente ao Arco do Triunfo, voltamos aos cavalos, tem um pouco de direção automobilística, espadas, arco e flecha... Coisas malucas de John Wick".

Ele contou que precisou se esforçar para realizar a obra. "John Wick 4 foi o filme mais difícil que já fiz. Em termos de ação, é o mais difícil. Mas é o que o torna bom".

Carreira como diretor

O entrevistador Marcelo Hessel aponta que o ator já dirigiu suas próprias cenas de artes marciais. Ele pergunta para Keanu se ele pretende atuar como diretor.

"Espero que sim. Adoraria dirigir outra vez, só preciso encontrar a história certa. No filme de Kung Fu que eu fiz, "O Homem Do Tai Chi", eu ajudei a desenvolver o roteiro, e preciso encontrar esse tipo de situação de novo", disse.

"Algo que venha desta cabeça louca e deste coração e que se torne uma história que preciso contar. E eu ainda não a encontrei".

Filmes de ação

Keanu, porém, se mostrou incerto quando indagado se enxerga a si mesmo como um "embaixador de filmes de ação". "Não sei, cara. Eu fiz um documentário sobre filmes e filmagem digital, chamado 'Lado a Lado'. Eu cresci assistindo e amando filmes. Comecei a atuar aos 16 anos. E amo o cinema, amo ir ao cinema".

"Amo grandes telas e sons altos. Amo a empolgação que você sente quando você está indo com amigos ver um filme pelo qual você está ansioso. Quando um filme de Quentin Tarantino estreia, eu fico: 'É isso aí, cara! Vamos ao cinema!'".

"Nesse sentindo, posso dizer que amo filmes, amo filmes de ação, mas amo cinema. Amo fazer filmes, ser uma parte disso, assisti-los e realmente amo assisti-los em uma grande tela".

Carinho com os fãs

Ainda no evento, no palco Thunder, Keanu agradeceu a recepção calorosa dos fãs, que vibravam com a presença do ator. Ele chegou a se ajoelhar no palco e fazer uma reverência. "Muito obrigado!", disse, em inglês.

Confira as melhores fotos do terceiro dia de CCXP