在网格中均匀生成多个图像
Spawn multiple images in grid evenly
我有 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
iphone 6
iphone 5
有什么帮助吗?如何将对象均匀地放置在不同的设备中?有任何想法吗?有帮助吗?
谢谢!
您没有考虑显示分辨率,这很可能对所有设备都是不同的。当您使用固定的偏移量和大小时,您会得到不同的结果。
如果您为项目定义内容属性,Corona 可以为您处理缩放。
https://docs.coronalabs.com/daily/guide/basics/configSettings/index.html
在代码的开头使用它,然后使用 _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
我有 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
iphone 6
iphone 5
有什么帮助吗?如何将对象均匀地放置在不同的设备中?有任何想法吗?有帮助吗?
谢谢!
您没有考虑显示分辨率,这很可能对所有设备都是不同的。当您使用固定的偏移量和大小时,您会得到不同的结果。
如果您为项目定义内容属性,Corona 可以为您处理缩放。
https://docs.coronalabs.com/daily/guide/basics/configSettings/index.html
在代码的开头使用它,然后使用 _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