さて、私の iPhone 5 が届きました (私はオーストラリアに住んでいて、幸運にもアメリカより先に手に入れることができました)。私が最初にやりたかったことは、 Impact JSエンジンを使用して、2D プラットフォーマーの88ピクセルの余分な幅を最大限に活用することでした。 .
キャンバスの幅を実際に変更する方法がわかりません。
これは私が以前に使用していたものです:
ig.main('#canvas', MyGame, 60, 240, 160, 2);
ここで、 240 x 44ピクセルを増やすのは簡単だったと思います(横向きの両側に44ピクセルがあることを考えると)。
ig.main('#canvas', MyGame, 60, 284, 160, 2);
ただし、上記のコードを変更した後も、両側に44ピクセルの黒いバーが表示されます。
これを機能させるために、他の Impact エンジン ファイルを変更する必要があるかどうかはわかりません。私は今仕事をしていて、自分のゲームに実際に取り組むべきではないので、十分に遊んでいません。これを機能させるために変更しなければならない領域が他にもいくつかあると確信しています。
ところで、私はiOSImpactを使用しており、自分のゲームを iPhone 5 に直接デプロイしているため、そこにも更新が必要なファイルがある可能性があります。
また、モバイル デバイス間の検出に関して、次のプロパティに気付きました。ig.ua.iPhone5
ここにもプロパティを投入する必要があります。
ig.ua.pixelRatio = window.devicePixelRatio || 1;
ig.ua.viewport = {
width: window.innerWidth,
height: window.innerHeight
};
ig.ua.screen = {
width: window.screen.availWidth * pixelRatio,
height: window.screen.availHeight * pixelRatio
};
ig.ua.iPhone = /iPhone/i.test(navigator.userAgent);
ig.ua.iPhone4 = (iPhone && pixelRatio == 2);
ig.ua.iPhone5 = ??
ig.ua.iPad = /iPad/i.test(navigator.userAgent);
ig.ua.android = /android/i.test(navigator.userAgent);
ig.ua.webos = /hpwos/i.test(navigator.userAgent);
ig.ua.iOS = iPhone || iPad;
ig.ua.mobile = iOS || android || webos;
以下で console.log を実行したところ、次のように返されました。
ig.ua.viewport.width
= 640
ig.ua.viewport.height
= 960
ig.ua.screen.width
= 1280
ig.ua.screen.height
= 1920年
上記の結果、特に ig.ua.viewport.width が960を返すことについても少し混乱しています。1136を返す必要があると思いました。