0

「Beginning iPhone Games Development」の第 4 章で「Asteroids」アプリをコーディングしています。この章のアトラス スプライト セクションでは、スプライトが画面上を行ったり来たりしています (エッジになると方向が変わります)。シミュレーターでは、スプライトは期待どおりに動きますが、デバイス (iPhone 4) では、画面の右下の象限でのみ前後に実行されます。これは、ポイントの代わりにピクセルを使用して画面の位置を参照することと関係がありますか? このアプリは CG を多用しています... メソッド。

一部の CG 描画方法は、ポイントではなくピクセルで画面位置を参照しますか? それは何が起こっているのかを説明するかもしれません。しかし、CG メソッドを使用して行った他のプロジェクトは、シミュレーターで行ったのと同じようにデバイスでも動作しました。画面の測定値は常にポイント単位であると想定しています。

デバイスの画面の 4 分の 1 がシミュレータの画面全体と同じである理由を説明する他のアイデアはありますか?

4

1 に答える 1

1

私は同じ問題を抱えています。私はこれで遊んでいて、役立つものを見つけました。sprite.m ファイルで、次のように変更します。

t = CGAffineTransformTranslate(t,y+160,240-x);

これに:

t = CGAffineTransformTranslate(t,y+320,480-x)

t = CGAffineTransformTranslate(t,y+0,0-x);

問題なく動作しているように見えますが、すべてのスプライトが小さいため、スケールを調整する必要があります。

于 2011-11-12T18:42:20.567 に答える