0

私は caurina.transitions.Tweener; を使用しています。AS3 クラスを使用して、私の 3D 環境 (alternativa3D プラットフォームで作成された) を介して 3D オブジェクトをポイント A からポイント B までトゥイーンします。

彼らが歩こうとしている斜面が急すぎる場合 (実際の巨大な丘や山のように)、オブジェクトの動きを止める (またはトゥイーンする) 方法があるかどうか疑問に思っていました。

これは基本的に私がこれに使用しているコードです:

var playerDistance: Number = Vector3D.distance(
new Vector3D( _escapeeManager.activeEscapee.x,
_escapeeManager.activeEscapee.y,
_escapeeManager.activeEscapee.z ),
intersectData.point );

Tweener.addTween( _escapeeManager.activeEscapee, { x:intersectData.point.x, y:intersectData.point.y, time:(playerDistance/_escapeeManager.activeEscapee.speed), transition:"linear" } );

私が開発しているゲームの例を見たい場合は、ここで見つけることができます: http://redmenmusic.ca/godsend.html

助けてくれてありがとう!

4

2 に答える 2

0

caurina.transitions.Tweener には、問題に役立ついくつかのプロパティがあります。Tweener が最善の方法だと言っているわけではありません。

公式の Tweener ドキュメント Web サイトは、http://hosted.zeh.com.br/tweener/docs/en-us/ にあります。「Tweening パラメーター」セクションは興味深い読み物になるでしょう。

したがって、あなたの問題については、次のようにアプローチすることをお勧めします。Tweener の更新ごとに実行されるonUpdateイベントがあります。更新ごとに、傾斜が急かどうかを確認できます。例: Tweener.addTween(myMovieClip, { x:100, time:1, onUpdate:function() { / * スロードが急勾配であるかどうかをここで確認します。急勾配である場合は、オブジェクトの Tweener を削除して、別の処理に進むことができます関数 * / }});

私はそれが明確であることを願っています:)頑張ってください!

于 2011-10-04T09:01:02.413 に答える
0

表面的なアニメーション以外に Tweener を使用するのは少し奇妙に思えます。おそらく、オブジェクトの動き、衝突検出、傾斜などを処理するために、より複雑なシステムを実装する必要があります。

于 2011-10-03T22:32:20.037 に答える