0

さて、私の 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を返す必要があると思いました。

4

1 に答える 1

1

アプリは、より高い/より広い画面をサポートしていることをOSに通知する必要があります。これは、そのサイズのスタートアップイメージを指定することによって行われると思います。そうしないと、互換モードで実行され、フルスクリーンを使用できなくなります

于 2012-09-21T06:34:40.770 に答える