縮放pixi.js渲染器的正確方法是什麼?
我目前使用:正確縮放pixi.js中的渲染器
function resize(container){
ratio = Math.min(window.innerWidth/GAME_WIDTH, window.innerHeight/GAME_HEIGHT);
stage.scale.x = stage.scale.y = ratio;
var newWidth = Math.ceil(GAME_WIDTH * ratio);
var newHeight = Math.ceil(GAME_HEIGHT * ratio);
renderer.resize(newWidth, newHeight);
container.style.top = (window.innerHeight-newHeight)/2 + 'px';
container.style.left = (window.innerWidth-newWidth)/2 + 'px';
}
這個CSS
#game { position: absolute;}
html,body {
padding:0;
margin:0;
height:100%;
width:100%;
background-color: #000000;
}
所以遊戲應該始終保持其高寬比,但它也應該儘可能地大,不超過窗口大小(我不想滾動條出現)。
但是,我的代碼使遊戲窗口稍大,所以滾動條出現,當我向舞臺添加新的孩子時,渲染器底部的某些元素被切斷似乎被切斷。
任何想法我可能做錯了。
是否有任何基本的縮放例子?
每當分辨率發生顯着變化時,替換舊的渲染器是否有意義(性能方面)?目前,我只創建一個具有用戶屏幕寬度/高度的渲染器。
我也有點擔心智能手機/平板電腦改變他們的屏幕方向。
我無法回購您的問題:無論我如何調整窗口大小,我都沒有滾動條,我什麼也沒有被切斷。我在OSX和Safari瀏覽器中使用Chrome。在Firefox中,如果我嘗試滾動但如果添加'canvas {display:block; 「那個問題消失了。 http://fiddle.jshell.net/greggman/s4p5rwqf/show/ – gman