美好的一天
我刚刚开始使用Corona,我对这个x和y属性感到困惑。是否可以使用Top,Left,Width和Height属性获取x和y值(如果提供了这些值)?例如,我希望对象位于Left=10
,Top=0
,Width=40
和Height=40
。有人可以告诉我如何做到这一点,这可能是图像,文本,文本字段等
答案 0 :(得分:1)
当然。有几种方法可以做到这一点。
示例1:
local myImage = display.newImageRect( "homeBg.png", 40, 40)
myImage.anchorX = 0; myImage.anchorY = 0
myImage.x = 10 -- Left gap
myImage.y = 0 -- Top gap
localGroup:insert(myImage)
此处,将锚点设置为(0,0)将使图像的参考点成为'几何中心到它的左上角。
示例2:
local myImage = display.newImageRect( "homeBg.png", 40, 40)
myImage.x = (myImage.contentWidth/2) + 10
myImage.y = (myImage.contentHeight/2)
localGroup:insert(myImage)
此处,图片的中心-X位置是通过将Left gap
添加到image's half width
本身来计算的。通过将Top gap
添加到image's half height
您可以使用任何此类方法定位对象。如果您是日冕的初学者,那么以下主题将有助于您更多地了解显示具有特定大小,位置等的对象。
答案 1 :(得分:0)
Corona使用类似笛卡尔坐标系 但(0,0)位于 TOP LEFT 您可以在此处查看更多内容:< / p>
https://docs.coronalabs.com/guide/graphics/group.html#coordinates
但是:您可以使用以下代码根据图像宽度和高度获取屏幕边角:
请注意,您应该使用图片更改
local image = display.newImageRect(“images/yourImage.png”, width, height)
--TOP:
image.y = math.floor(display.screenOriginY + image*0.5)
--BOTTOM:
image.y = math.floor(screenH - display.screenOriginY) - image.height*.5
--LEFT:
image.x = (screenOffsetW*.5) + image*.5
--RIGHT:
image.x = math.floor(screenW - screenOffsetW*.5) - image.width*.5
答案 2 :(得分:0)
Corona SDK显示对象具有可以读取或设置的属性:
X = myObject.x - 获取myObject的当前中心(默认情况下) width = myObject.width
您也可以设置这些值....
myObject.x = 100 - 将对象置于内容区域左侧100px处。
默认情况下,Corona SDK基于他们的中心,除非您更改它的定位点:
myObject.anchorX = 0
myObject.anchorY = 0
myObject.x = 100
myObject.y = 100
通过将锚点设置为0,然后.x和.y指向对象的左上角。