特定のアプリケーション用に1つのコードを記述し、両方のデバイスのオブジェクトの座標と画像のサイズを個別に変更せずに、iPadとiPhoneの両方で実行できるコロナSDKで可能性はありますか? display.contentHeight と display.contentWidth で可能ですか?
2 に答える
泥は基本的に正しかった。コンテンツの幅/高さを設定することで、Corona SDK は iPhone / iPad (+retina) 画面でアプリを自動的に描画およびスケーリングします。これを考える最善の方法は、アプリを 320x480 画面で設計し、その画面サイズの画像を提供することです。次に、より大きな画面用に 2 番目の画像セットを作成します。Corona の display.newImageRect() を使用すると、iPhone 用の小さな画像が読み込まれ、次に iPad / Retina ディスプレイ上の大きな解像度の画像が読み込まれます。
この記事をご覧ください: http://developer.anscamobile.com/forum/2012/03/12/understanding-letterbox-scaling
config.lua は次のようになります。
application = {
content = {
width = 320,
height = 480,
scale = "letterbox",
xAlign = "center",
yAlign = "center",
imageSuffix = {
["@2x"] = 2
["@4x"] = 4
},
},
}
display.contentHeight と display.contentWidth を呼び出すと、config.lua ファイルからこれらの値を読み取るだけです。特定の位置計算を行う必要がある場合は、いくつかのグローバル変数を使用する傾向があります。これらを main.lua で定義します。
screenWidth = display.contentWidth - (display.screenOriginX*2)
screenHeight = display.contentHeight - (display.screenOriginY*2)
screenTop = display.screenOriginY
screenRight = display.contentWidth - display.screenOriginX
screenBottom = display.contentHeight - display.screenOriginY
screenLeft = display.screenOriginX
screenCenterX = display.contentWidth/2
screenCenterY = display.contentHeight/2
例えば:
companyLogo = display.newImageRect("companyLogo.png",64,64)
companyLogo.png という名前の 64x64 ピクセルの画像が 1 つ必要です。これは < iPhone 4 用です。次に、companyLogo@2x.png という名前の 128x128 ピクセルの画像が必要です。コロナはiPhone 4とiPadでこれを自動的に使用します。ここでも、companyLogo@4x.png という名前の 256x56 の別の画像が iPad 3 Retina ディスプレイで使用されます。
はい、可能です。たとえば、アプリが 640x480 用に作成されている場合、ファイルでどのようにスケーリングするかを指定することで、他の解像度に自動的にスケーリングすることができconfig.lua
ます。
application =
{
content =
{
width = 640,
height = 480,
scale = "letterbox"
},
}