Sounds like you want to rotate about an anchor point.
Try running this example in each of the 5 modes it supports to see what I mean:
local function test( num ) local anchors = {} anchors[1] = { 0.5, 0.5 } anchors[2] = { 0, 0 } anchors[3] = { 0, 1 } anchors[4] = { 1, 0 } anchors[5] = { 1, 1 } local tmp = display.newRect( display.contentCenterX, display.contentCenterY, 200, 50) tmp.anchorX = anchors[num][1] tmp.anchorY = anchors[num][2] local anchorMark = display.newCircle( tmp.x, tmp.y, 10 ) anchorMark:setFillColor(1,0,0) transition.to( tmp, { delay = 1000, rotation = 360, time = 5000 } ) end
test (2)