Here's the basic idea.. this doesn't shrink into center and doesn't "flip" 360 - it also wouldn't work right with preserve_aspect_ratio on but it should give you some ideas:
fe.load_module("animate")
local shrink = {
when = Transition.ToNewSelection,
property = "width",
start = 300,
end = 1,
time = 750,
loop=false,
wait = true
}
local skew = {
when = Transition.ToNewSelection,
property = "pinch_y",
start = 0,
end = 150,
time = 750,
loop=false,
wait = true
}
local shrink_restore = {
when = Transition.FromOldSelection,
property = "width",
start = 1,
end = 300,
time = 750,
loop=false
}
local skew_restore= {
when = Transition.FromOldSelection,
property = "pinch_y",
start = 150,
end = 0,
time = 750,
loop=false
}
local img = fe.add_artwork("flyer", 100, 100, 300, 400)
animation.add(PropertyAnimation(img, shrink))
animation.add(PropertyAnimation(img, skew))
animation.add(PropertyAnimation(img, shrink_restore))
animation.add(PropertyAnimation(img, skew_restore))
I noticed I couldn't use 0 for width, so I had to set it to 1 or it would auto-resize it.. if you wanted 360 degress, you'd probably have to set the texture_width? to -1 before the 'restore' animations and reverse the pinching somehow.
I'm not sure on the flash, you'd have to see which anim or which property is causing that - you might have to work around it by catching that event and just hiding the artwork or something if the artwork isn't available.