How do I resize a display.rect interactively while keeping its top left corner as an anchor?
Code below does not work – rect insists on being resized with a center anchor --, and neither does it when I uncommment the “setReferencePoint” calls:
local rect = display.newRect(0, 0, 1, 1)
rect:setFillColor(128,128,128)
rect:setReferencePoint(display.TopLeftReferencePoint)
local screenTouched = function( event )
if event.phase == "began" then
-- rect:setReferencePoint(display.TopLeftReferencePoint)
rect.x = event.x
rect.y = event.y
elseif event.phase == "moved" then
if event.x \> event.xStart then
rect.width = event.x - event.xStart
else
-- rect:setReferencePoint(display.TopLeftReferencePoint)
rect.x = event.x
rect.width = event.xStart - event.x
end
if event.y \> event.yStart then
rect.height = event.y - event.yStart
else
-- rect:setReferencePoint(display.TopLeftReferencePoint)
rect.y = event.y
rect.height = event.yStart - event.y
end
elseif event.phase == "ended" then
rect.width = 1
rect.height = 1
-- rect:setReferencePoint(display.TopLeftReferencePoint)
rect.x = 0
rect.y = 0
return true
end
end
Runtime:addEventListener( "touch", screenTouched )
Alex
[import]uid: 3473 topic_id: 2277 reply_id: 302277[/import]