2

非常に奇妙な問題: box2dweb.js を使用して小さな HTML5 キャンバス ゲームを作成しました。これまでのところ、私の作業はすべてデスクトップで行われていましたが、今日はそれを iPhone に移行することにしました (通常は、アプリを PhoneGap/Cordova アプリケーションにラップし、いくつかの設定を変更するだけです。

問題は、デスクトップ ブラウザー (Chrome、Safari) と iPhone および iPad シミュレーターでアプリを実行すると、すべて正常に動作しますが、実際に自分のデバイス (iPhone 4S) に展開すると、一部の画像しか表示されないことです。 . 実際には、プレイヤー スプライト アニメーションのみが再生され、特定のアニメーションがない限り (一連の画像であるか 1 つの画像であるかにかかわらず) 他のすべては (物理的に存在している間) 描画されません。

さらに奇妙に思われるのは、プレイヤー エンティティだけが (アニメーションも含めて) 描画され、アニメーションを持つ他のすべてのエンティティは単に描画されないことです。

違いを示すために画像を添付しました:

すべてが iOS シミュレーターとデスクトップに描画されます 実際のデバイスで描画されるのはプレーヤーだけです

私の質問は、どこからデバッグを開始すればよいですか? デバッグ コンソールにアクセスできるように、iOS シミュレーターで cordova アプリを使用せずに index.html ページを実行してみましたが、問題はありませんでした。これはどのように可能ですか?Web ページとして機能するのであれば、PhoneGap アプリとして機能するはずだという印象を受けました。

4

1 に答える 1

0

よし、問題は解決した。それは信じられないほど単純でしたが、見つけるのは困難でした。それはPhoneGapの問題でもありません:

ゲームにはレベル エディターがあるため、保存/読み込みメカニズムも備えています。すべての画像を './graphics/image.png' として指定していますが、レベルが逆シリアル化されると、元の './graphics...' パスではなく、読み込まれた画像のソースが保存されます。問題は、コンピューターから iPhone にローカル ファイルを読み込もうとしたことでした。やっぱりパスの問題だったのかな…

于 2012-08-13T17:19:56.110 に答える