| Basic code using built-in 3D funcitonality of Director to simulate a desktop transtition through quad points.

| Code

global flipcount

property
spriteNum, pMySpriteRef, currQuadListOriginal, locationY

on
beginSprite me
  flipcount=0
  pMySpriteRef = sprite(me.spriteNum)
  
  currQuadList = sprite(pMySpriteRef).quad
  currQuadListOriginal=sprite(pMySpriteRef).quad
  
  currQuadList[1] = currQuadList[1] + point(0, 30)
  currQuadList[2] = currQuadList[2] + point(0, 30)
  currQuadList[3] = currQuadList[3] + point(0, 30)
  currQuadList[4] = currQuadList[4] + point(0, 30)
  
  currQuadList[3] = currQuadList[3] - point(50, 0)
  currQuadList[4] = currQuadList[4] + point(50, 0)
  sprite(pMySpriteRef).quad = currQuadList
  sprite(pMySpriteRef).blend=0

  updateStage
end

on
enterFrame me
  currQuadList = sprite(pMySpriteRef).quad
  repeat
while flipcount<50
    currQuadList[3] = currQuadList[3] + point(5, 0)
    currQuadList[4] = currQuadList[4] - point(5, 0)
    sprite(pMySpriteRef).quad = currQuadList
    sprite(pMySpriteRef).blend=(flipcount*1.4) +30
    
    currQuadList[1] = currQuadList[1] - point(0, 3)
    currQuadList[2] = currQuadList[2] - point(0, 3)
    currQuadList[3] = currQuadList[3] - point(0, 3)
    currQuadList[4] = currQuadList[4] - point(0, 3)

    updateStage

    flipcount=flipcount+5
    
    
  end
Repeat
  sprite(pMySpriteRef).blend=100
  sprite(pMySpriteRef).quad = currQuadListOriginal
end

-- Reset original coordinates
on
endSprite me
  sprite(pMySpriteRef).quad = currQuadListOriginal
  flipcount=0
end