0

私はCreateJSを使用していますが、Tickerオブジェクトを使用してトゥイーンを制御する例があるのではないかと思いました。スプライトがウェイポイントによって定義されたパスをたどるようにしようとしていますが、各トゥイーン(ウェイポイント間)を時間で制御したくありません。Tickerオブジェクトによって制御される各ウェイポイント間のスムーズな移動が必要です。まったく機能していないように見えるこのコードを試しました。

var index = 0;

function move(){
    index++;
    if (index < path.length) {
        createjs.Tween.get(person)
        .to({x:gridSize * path[index][0] - pathOffset,y:gridSize * path[index][1] - pathOffset})
        .call(move);
    }
}
move();

createjs.Ticker.setFPS(30);
createjs.Ticker.addEventListener("tick", function(event){
    createjs.Tween.tick(1);
    stage.update();
});

このコードは、ウェイポイント間をジャンプするだけで、トゥイーンはまったくジャンプしないようです。私が間違っているかもしれないアイデアや役立つかもしれないコード/チュートリアルはありますか?

4

1 に答える 1

2

トゥイーンにデュレーション (ミリ秒単位) を追加する必要があります。そうしないと、デフォルトで 0 になり、「ジャンプ」が発生します。例: 5000.5 秒

instead of: .to({x:..., y:...})
use:        .to({x:..., y:...},500)

そして 2 つ目: これを呼び出す必要はありませんcreatejs.Tween.tick(1);。通常、これは Tween クラスによって自動的に呼び出されます。

ここにいくつかのヘルプといくつかの小さな例があります: http://www.createjs.com/Docs/TweenJS/classes/Tween.html

高度な例: https://github.com/CreateJS/TweenJS/tree/master/examples

于 2013-03-12T00:12:03.817 に答える