0

写真のズームインとズームアウトに 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 の計算は最適ではないかもしれませんが、うまくいきます。彼らは理解するのにしばらく時間がかかりました;)

4

1 に答える 1

1

トゥイーンを作成する前にロジックを実行することをお勧めします。したがって、最初に調整された値をトゥイーンにフィードします。または、ニールが提案したように onUpdate を使用することもできます。

于 2012-08-23T13:48:39.557 に答える