2016-02-07 16 views
0

我有40個對象以5x8網格樣式放置。該對象的圖像是50x50。我使用的產卵的代碼如下:在網格中均勻產生多個圖像

local spawnImage=function(x,y) 
    circle[bCircle] = display.newImage("dot1.png") 
    circle[bCircle].x =-5+x*55 
    circle[bCircle].y = 60+y*55 
    sceneGroup:insert(circle[bCircle]) 
    circle[bCircle].value = bCircle 
    circle[bCircle].tag=false 
    numCircle[bCircle]= display.newText( circle[bCircle].value, spX+x*55, spY+y*55, "Helsinki", 16) 
    circle[bCircle]:addEventListener("touch", touchi) 
    bCircle = bCircle + 1 
end 

    for y=1,8 do 
     for x=1,5 do 
     spawnImage(x,y) 
     end 
    end 

的事情是,我不能均勻地將它們放置在不同的設備(模擬器)

的ipad ipad screenshot

iphone 6 iphone 6

iphone 5 enter image description here

有什麼幫助嗎?我怎樣才能將物體均勻地放置在不同的設備上?有任何想法嗎?任何幫助?

謝謝!

回答

1

使用這個在你的代碼的開頭,然後用_W和_H爲屏幕寬度和高度:

_W= display.contentCenterX 
_H= display.contentCenterY 

因此您的代碼將是:

_W= display.contentCenterX 
    _H= display.contentCenterY 

local spawnImage=function(x,y) 
    circle[bCircle] = display.newImage("dot1.png") 
    circle[bCircle].x = x* (1/5)*_W 
    circle[bCircle].y = y* (1/8)*_H 
    sceneGroup:insert(circle[bCircle]) 
    circle[bCircle].value = bCircle 
    circle[bCircle].tag=false 
    numCircle[bCircle]= display.newText( circle[bCircle].value, spX+x*55, spY+y*55, "Helsinki", 16) 
    circle[bCircle]:addEventListener("touch", touchi) 
    bCircle = bCircle + 1 
end 

    for y=1,8 do 
     for x=1,5 do 
     spawnImage(x,y) 
     end 
    end