0

stage3d (flare3d 2.0 エンジンを使用) ゲームでスムーズなズーム遷移を試みています。

以下のようにGTweenerを使用してカメラをトゥイーンしています

GTweener.to(_camera,0.5,{x:pos.x,y:pos.y,z:pos.z});

これは正常に機能していますが、関数を使用してのみ設定できる他のプロパティをトゥイーンしたいのですが、例

setRotation(x,y,z);

また

rotateX(value);

関数を呼び出して関数パラメーターをパラメーターとして GTweerner.to 関数に渡す方法がわかりません

私が知っているもう 1 つの回避策は、コールバック関数を onUpdate プロパティとして渡すことですが、物事をシンプルに保つためにそれを避けることを好みます。

または

GTweener では不可能であることが確認された場合は、それを可能にする代替ライブラリを探す必要があります。

4

2 に答える 2

0

GTWeenerを使用していることは知っていますが、1レベル下に移動して、GTWeenクラス(GWTeenerがトゥイーンを実行するプロセスを簡素化するために使用する)を使用することをお勧めします。

トゥイーンの進行中に呼び出されるコールバック関数であるonChangeプロパティがあります。理論的にはsetPosition()、コールバック関数内からそのメソッドを呼び出して、ズーム操作をスムーズにすることができます。

これを行うには、実際に他のプロパティをトゥイーンする必要があると思いますが、これは機能しないか、優れたアイデアではない可能性があります。私はGTweenやGTweenerを使ったことがないので、純粋な憶測です...私はドキュメントを見ただけです。

注:コールバックを実行するためにtrueを取得するには、dispatchEventsプロパティをtrueに設定する必要がある場合もあります。

于 2012-11-29T05:12:31.290 に答える
0

線形速度を使用してトゥイーンを行うと、動いているオブジェクトが「ちらつく」ように見えることがあります。別のイージング タイプを適用すると、見た目がかなり滑らかになることがあります。

たとえば、次を使用しcom.gskinner.motion.easing.Cubic.easeInOutます。

GTweener.to(_camera,0.5,{x:pos.x,y:pos.y,z:pos.z}, {ease: Cubic.easeInOut});

ちらつきは、新しいフレームがレンダリングされる前にすべて発生するためx、 、y、およびプロパティが順番に設定されていることが原因であるとは思いません。z

于 2012-11-29T17:50:45.460 に答える