2

私は Gideros とゲーム開発もまったくの初心者です。

ゲームを作成しようとしていますが、Gideros プレーヤーでは問題なく見えましたが、Android フォンで試してみると、背景が小さすぎました。幅に収まるように、プロパティを自動スケーリングに変更しました。背景は幅に収まるようになりましたが、他のオブジェクトはばかげた場所に移動しているようです。

W = application:getDeviceWidth()、 、および を使用H = application:getDeviceHeight()していましたが、場所の設定中に、ハードコーディングする代わりにW/2andを使用しました。H/2ただし、このオブジェクトは右端に移動するように見えますが (ランドスケープ レフト モードでは)、fit width プロパティを適用しないと、ちょうどその中心にありました。修正するにはどうすればよいですか?

4

1 に答える 1

3

を使用する必要がありますW = application:getContentWidth()H = application:getContentHeight()これは、スケーリング モードで使用される論理ディメンションを返します。

基本的に、これらはすべて次の点に帰着します。

1) ゲームに適したスケーリング モードを選択します (レターボックスが最も一般的です)。

2) ゲームの論理サイズを選択し、プロジェクト プロパティで設定した論理サイズのすべてのグラフィックを作成します (480x800 または 640x960 を推奨)。

3) 比率が異なるデバイスの余白をカバーするために、論理的な寸法より少し大きい背景を作成します。

4)画面ボタンのように画面の端に固定する必要があるオブジェクトには、絶対配置 ( http://appcodingeasy.com/Gideros-Mobile/Ignore-Automatic-Screen-Scaling-when-positioning-objects ) を使用します。

5) (オプション) いくつかの固定比率係数で大きなグラフィックスを準備し、自動画像解像度機能を使用して、より大きなデバイス用にそれらを自動的にロードします

詳細はこちら: http://members.giderosmobile.com/knowledgebase.php?action=displayarticle&id=79

追加: (デバイスと論理ディメンションの違い)

デバイスの寸法は、デバイスが持っているものとまったく同じです。つまり、iPhone 3GS では幅が 320 として返されます。

ただし、論理ディメンションは、プロジェクト プロパティで設定したものとまったく同じです。解像度に関係なく、論理的な次元は常に同じです。それらは基本的に、選択したスケール モードに基づいてスケーリングされます。

そのトピックの詳細は次のとおりです

したがって、特定の 1 つの解像度のみを対象として開発している場合は、デバイス ディメンションを使用できます。それ以外の場合は、適切なスケール モードで論理ディメンションを使用することをお勧めします。

于 2014-05-14T08:22:31.343 に答える