Reference Corona中显示对象的默认参考点

Reference Corona中显示对象的默认参考点,reference,coronasdk,displayobject,Reference,Coronasdk,Displayobject,我正试图理解科罗纳的那些参考点。据说默认的参考点是对象的中心,但是当我运行此代码时,textObject中心的x位置不是100而是150: local textObject = display.newText( "Hello World!", 100, 100, nil , 20 ) 我在屏幕上显示了带有触摸事件的位置,并打印了触摸位置的x和y位置: local function onScreenTouch(event) print("x: "..event.x.."

我正试图理解科罗纳的那些参考点。据说默认的参考点是对象的中心,但是当我运行此代码时,textObject中心的x位置不是100而是150:

  local textObject = display.newText(  "Hello World!", 100, 100, nil , 20 )
我在屏幕上显示了带有触摸事件的位置,并打印了触摸位置的x和y位置:

  local function onScreenTouch(event)
      print("x: "..event.x.."  y: "..event.y);
  end
  Runtime:addEventListener("tap", onScreenTouch)

这个问题问得很好,这让我很长一段时间都发疯了

默认情况下,参考点为display.CenterReferencePoint,除非您将X,Y作为参数传递给API调用。在大多数情况下(对于矩形),通过X,Y成为仅用于对象初始绘制的左上角参考点。线当然是通过端点的,对于圆,X,Y是中心

myRect = display.rect(X, Y, width, height)  -- X, Y = Top, Left
在这种情况下,X和Y表示框的左上角,但如果执行以下操作:

myRect.x = X -- X = center of object
myRect.y = Y -- Y = center of object
然后,您现在使用的是中心参照点,除非您显式地将其更改回其他对象。现在,因为这令人困惑,我倾向于这样做:

myRect = display.rect(0,0, width, height)
myRect.x = 100
myRect.y = 100
就像我用中心点来定位一样

希望这能解释这一点


罗布:这个问题问得很好,这让我很长时间都发疯了

默认情况下,参考点为display.CenterReferencePoint,除非您将X,Y作为参数传递给API调用。在大多数情况下(对于矩形),通过X,Y成为仅用于对象初始绘制的左上角参考点。线当然是通过端点的,对于圆,X,Y是中心

myRect = display.rect(X, Y, width, height)  -- X, Y = Top, Left
在这种情况下,X和Y表示框的左上角,但如果执行以下操作:

myRect.x = X -- X = center of object
myRect.y = Y -- Y = center of object
然后,您现在使用的是中心参照点,除非您显式地将其更改回其他对象。现在,因为这令人困惑,我倾向于这样做:

myRect = display.rect(0,0, width, height)
myRect.x = 100
myRect.y = 100
就像我用中心点来定位一样

希望这能解释这一点

抢劫