写真のズームインとズームアウトに Greensock の TweenLite (AS3) を使用しています。コーナー付近でズームアウトするときは注意が必要です。トゥイーン中に幅/高さ/x/yをクランプして、範囲外にならないようにする方法があるかどうか疑問に思っています。
現時点では、トゥイーンが完了したときに呼び出す「フィクサー」メソッドがありますが、理想的ではありません。
私が何を意味するかを示すためにデモを作成しました。コーナーの近くでズームアウトしてみてください。(マウスでスクロールしてズーム、クリックしてパン...)
http://cloudchamber.knapnokgames.com/CCMedia/CCImageViewer/CCImageViewer.html
更新: トゥイーン コードは次のとおりです。
TweenLite.to(content, 0.3, {
width : _nativeWidth * newZoom ,
height : _nativeHeight * newZoom,
x : (((content.x - origin.x) / content.width) * (_nativeWidth * newZoom)) + origin.x,
y : (((content.y - origin.y) / content.height) * (_nativeHeight * newZoom)) + origin.y,
onComplete: ClampContentPosition});
X と Y の計算は最適ではないかもしれませんが、うまくいきます。彼らは理解するのにしばらく時間がかかりました;)