Fig*_*gör 0 reference displayobject coronasdk
我试图理解Corona中的那些参考点.据说默认参考点是对象的中心,但是当我运行此代码时,textObject中心的x位置不是100而是150
local textObject = display.newText( "Hello World!", 100, 100, nil , 20 )
Run Code Online (Sandbox Code Playgroud)
我在屏幕上显示了触摸事件的位置并打印了触摸位置的x和y位置:
local function onScreenTouch(event)
print("x: "..event.x.." y: "..event.y);
end
Runtime:addEventListener("tap", onScreenTouch)
Run Code Online (Sandbox Code Playgroud)
非常好的问题,这是让我疯了很长时间的事情.
默认情况下,参考点是display.CenterReferencePoint,除非您将X,Y作为参数传递给API调用.在大多数情况下(对于矩形),传递X,Y仅为对象的初始绘制变为左上角参考点.线路当然是你通过终点,对于圆圈你的X,Y是中心.
myRect = display.rect(X, Y, width, height) -- X, Y = Top, Left
Run Code Online (Sandbox Code Playgroud)
在这种情况下,X和Y代表框的左上角,但是如果你这样做:
myRect.x = X -- X = center of object
myRect.y = Y -- Y = center of object
Run Code Online (Sandbox Code Playgroud)
那么你现在正在使用一个中心参考点,除非你明确地将它改回别的东西.现在因为这令人困惑,我倾向于这样做:
myRect = display.rect(0,0, width, height)
myRect.x = 100
myRect.y = 100
Run Code Online (Sandbox Code Playgroud)
就像我真正只使用中心点定位事物一样.
希望能够解释它.
抢