2017-01-18 2 views
0

私はマウスの上にある特定の位置(フレーム)にジャンプしようとしています。私は試しました:特定のフレームをホバリングに設定するには

var element = document.getElementById('animation_container'); 
element.addEventListener('mouseover', element, function() { 
    createjs.Ticker.removeEventListener("tick", stage); 
    createjs.Tween.setPosition(502); 
}); 
element.addEventListener('mouseleave', element, function() { 
    createjs.Ticker.addEventListener("tick", stage); 
}); 

上記は機能しません。アニメーションは停止していますが、キャンバスの実際のフレームを変更することはできません。

おそらく私はfnStartAnimation()を使ってアニメーションを再開し、この関数の状態でアニメーションの開始位置を再設定する必要がありますか?あなたが私に与えることができる助けを感謝します。

答えて

2

この例では、位置を設定する前にステージから「チック」を取り除いています。ステージの更新がない場合は、キャンバスに変更はありません。変更を行った後、もう一度ステージを更新する必要があります。

まず、あなたがそれに直接関数を適用するためには、あなたのトゥイーンアニメーションのトゥイーンインスタンスを返す必要があります。

var tween = createjs.Tween.get(target); 

その後、あなたはリスナー関数としてこれを試すことができます。

createjs.Ticker.removeEventListener("tick", stage); 
tween.setPosition(502); 
stage.update(); 

それとも、あなたはまたして、これまでのステージダニを削除せずにトゥイーンを一時停止しようとすることができます:

tween.setPaused(true); 

ところで、私が知る限り、イベントリスナーは、ターゲット要素ではなく、2番目のパラメータとしてリスナー関数を持ちます。

+0

私は、タイムラインの特定のフレームに移動したいと思っています。私はこれがgotoAndPlay()またはそれに類するものを介して行われると仮定します。 – Cyclonecode

+0

この場合、 'gotoAndStop(frame)'を使用して、フレームを設定した後にアニメーションを停止し、それを再生し続けるだけでなく、停止することもできます。しかし、これらの2つは、私が覚えている限り、MovieClipタイプのオブジェクトに使用される関数であり、Tweensでは使用されません。 –

+0

はい、そうかもしれません。私は元のコードを作成していませんし、実際にはTweenライブラリをまったく使用していないと思います。 – Cyclonecode

関連する問題