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

Idris Elba achou ter levado tiro real em cena de filme, diz Ridley Scott

Idris Elba em cena com Denzel Washington em "O Gângster" - Reprodução/Universal Pictures
Idris Elba em cena com Denzel Washington em "O Gângster" Imagem: Reprodução/Universal Pictures

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

24/11/2021 17h03Atualizada em 24/11/2021 17h05

O diretor Ridley Scott revelou que Idris Elba pensou ter levado um tiro de verdade durante uma cena com Denzel Washington no filme "O Gângster", que ele dirigiu para a Universal Pictures em 2007.

O assunto veio à tona durante uma entrevista do cineasta ao portal "Daily Mail" para divulgar seu novo trabalho, "Casa Gucci", que estreia amanhã nos cinemas brasileiros. No papo, Scott falava sobre o incidente envolvendo Alec Baldwin no set de "Rust", que terminou com a morte da diretora de fotografia Halyna Hutchins após um disparo acidental.

O diretor lembrou da cena em que o Tango, personagem de Idris Elba, é baleado na cabeça no meio da rua por Frank, interpretado no longa por Denzel Washington. "(Frank está) no café e diz: 'Apenas fiquem aqui'. Ele sai e todos os seus irmãos estão olhando. Aí ele desce a rua e Idris Elba está lá dizendo: 'Ei, o que você vai fazer? Atirar em mim, Frank? Vá em frente, atire em mim, Frank; atire na frente de todas essas pessoas'. Então ele simplesmente atira nele no local", comentou.

Então, Scott recordou a instrução que deu ao ator para realizar a cena. "O que aconteceu foi que eu disse a ele: 'Ouça, quando (Washington) colocar a arma na sua cabeça, apoie (a cabeça) nela'. Porque, a propósito, aquela era uma arma com um 'cano sólido'; não há abertura. Eu nunca arriscaria isso", destacou, citando a arma modificada para inviabilizar a agem de qualquer bala e evitar acidentes.

No entanto, as armas de "cano sólido" ainda possuem o "coice" característico de um revólver comum, e foi isso que acabou assustando Idris. "[Washington] puxou o gatilho e disparou. Idris pensou que tinha levado um tiro, caiu na calçada e disse: 'Eu levei um tiro!'", frisou Scott.

Na mesma matéria, o portal britânico entrevistou Paul Biddiss, especialista em armas, que ressaltou o quanto Ridley Scott leva a segurança do set a sério. "Aquela era uma arma totalmente desativada e inutilizável no que diz respeito a disparar qualquer coisa", disse ele, que também aproveitou para lamentar o incidente no set de "Rust".

"Infelizmente, há muitos armeiros inexperientes tentando ganhar uma oportunidade na indústria. Armeiros jamais devem preparar uma arma com balas de verdade dentro, mesmo que ela não seja diretamente apontada para alguém", comentou.