2012-06-22 51 views
0

的是有電暈SDK,我們寫paticular申請一個代碼的任何可能性,它可以同時在iPad和iPhone上運行,而不改變物體的圖像的座標和尺寸兩個設備分別? 可以通過display.contentHeight和display.contentWidth嗎?調整大小電暈SDK圖像爲iPad和iPhone

+0

對不起它的iPhone在標題 – 1989

回答

0

是的,這是可能的。例如,如果你的應用程序是爲640×480寫的,你可以把它告訴它會自動擴展到其他決議如何你想讓它縮放在config.lua文件:

application = 
{ 
     content = 
     { 
       width = 640, 
       height = 480, 
       scale = "letterbox" 
     }, 
} 

More info.

+0

嗨泥!感謝您的答覆,但我在doubt.If我開發的iPad和iPhone4相同的應用程序,那麼它可能不可能的座標和圖像大小調整automatically.Please清除它。 – 1989

+0

[這裏是日冕的關於這一問題的文件。(http://developer.anscamobile.com/content/configuring-projects#Dynamic_Content_Scaling)內部這東西是所有的OpenGL。如果Corona知道您的應用程序的尺寸,將其向上或向下縮放至任何分辨率都是微不足道的。 'scale'標誌只是告訴它當顯示器的高寬比與你的應用的高寬比不匹配時該怎麼做。 – Mud

2

泥基本上正確。通過設置內容寬度/高度,Corona SDK將自動在iPhone/iPad(+視網膜)屏幕上繪製和縮放應用程序。最好的方法是在320x480屏幕上設計您的應用程序 - 然後爲該屏幕尺寸提供圖像。然後爲較大的屏幕創建第二組圖像。通過使用Corona的display.newImageRect(),它可以爲iPhone加載小圖像,然後在iPad/Retina顯示屏上顯示更大的分辨率圖像。

看看這篇文章:http://developer.anscamobile.com/forum/2012/03/12/understanding-letterbox-scalling

你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 1個64x64px圖像。這將用於iPhone 4的<。然後,您需要一張名爲[email protected]的128x128px圖像。 Corona將在iPhone 4和iPad上自動使用此功能。再次,另一張名爲[email protected]的256x56圖像將用於iPad 3視網膜顯示屏。