나는 PIXI.js 를 사용하여 게임 보드를 그리고 그 위와 아래에 버튼과 선택 메뉴와 같은 몇 가지 jQuery 요소를 그리는 Wordpress 프론트 페이지에 포함 된 단어 게임을 작업 하고 있습니다.
잘 따라가는 동안 내가 해결하는 방법을 모르고 다른 PIXI 개발자가 어떻게 해결하는지 궁금해하는 한 가지 문제가 있습니다. 일부 브라우저에서는 하드 코딩 된 캔버스 크기 (내가 1020 x 1080으로 설정)가 너무 큽니다.
예를 들어 다음은 Macbook Air에있는 2 개의 Google Chrome 스크린 샷입니다.
또한 내 게임을 Facebook Canvas에 임베드하여 화면 공간을 더욱 부족하게 만들 계획입니다.
다음은 내 JavaScript 코드의 일부입니다. 어떻게 개선해야합니까?
var renderer = new PIXI.autoDetectRenderer(1020, 1020 + 60, {
view: document.getElementById('board')
});
renderer.view.style.padding = '4px';
renderer.backgroundColor = 0xFFFFFF;
var charm = new Charm(PIXI);
var stage = new PIXI.Sprite();
stage.interactive = true;
stage
.on('mousedown', onDragStart)
.on('touchstart', onDragStart)
.on('mousemove', onDragMove)
.on('touchmove', onDragMove)
.on('mouseup', onDragEnd)
.on('mouseupoutside', onDragEnd)
.on('touchend', onDragEnd)
.on('touchendoutside', onDragEnd);
사용 window.innerWidth
하고 window.innerHeight
당신의 할 board
요소 최적이 크기.
내 솔루션은 다음과 같습니다 (원시 캔버스 만 사용하고 프레임 워크 없음)
var context = document.getElementById('game');
function gameResize()
{
if (window.innerWidth/window.innerHeight > 1280/720)
{
context.height = window.innerHeight;
context.width = 1280*context.height/720;
}
else
{
context.width = window.innerWidth;
context.height = 720*context.width/1280;
}
}
또한 board
PIXI를 사용하여 직접 크기 를 변경할 수도 renderer.resize()
있지만 어느 것이 더 정확한지 잘 모르겠습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다