// initialize jwplayer var playerInstance = jwplayer('player'); // player dom elements var playerContainerEl = document.querySelector('.player-container'); // returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); } // returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); } // configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' }); // when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED }); // get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl); // set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px'; // below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop; if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); } // namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false; // window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); }; });

In an interview with PC Gamer, Treyarch and Beenox developers spoke briefly about the upcoming Battle Royale mode, Blackout coming in Call of Duty: Black Ops 4. Thus far, we’ve only seen a 10 second teaser video of the mode, and no information has been provided yet on when to expect a full reveal. As the beta fast approaches, a reveal should occur soon.

In the interview, Treyarch has stated that vehicles in Blackout are ‘well balanced’ and allows players to easily transverse the map alongside boots on the ground.

There’s a range of vehicles that I think are well-balanced to match with the on-foot combat. It isn’t like you’re driving a tank, trying to fight against a dude with a scavenged submachine gun. They’re all well-balanced. We’ve been having a lot of playtests at Treyarch over the last several months getting ready for this, and it’s a blast to play. It feel great. It feels like Black Ops.”

The developers would not speak about load outs, but did add some information about the map — stating that even Firing Range will make a showing in Blackout. But all of the map pieces will be integrated seamlessly.

“It’s easy to understand why people see it as a patchwork, but all of the maps are built seamlessly together,” says Wilson. “The environments are all inspired by classic maps, and you’ll see moments from Firing Squad and Nuketown in there, but it’s not like we just dropped them right next to each other and glued them together. It is still very much an environment build for Black Ops.”

“It’s an extremely coherent presentation,” says Rafacz, “but on top of that it’s ten years of heritage of Black Ops put together, through weapons, characters, environments, vehicles—land, sea and air. There’s a lot there to dig if you’re a Black Ops fan.”

SOURCE: PC Gamer

comments below