2017-07-27 17 views
3

私はd3バージョン3を使用していますが、アニメーションにd3のイージー機能を使用しようとしています。関数の定義によると、戻り値はd3.easeの戻り値はどのように取得されますか?

function ease(type: 'cubic-in'): (t: number) => number; 

私の計算には戻り値が必要です。しかし、今ではどのようにして簡単関数の戻り値を数値にキャストできますか? これを達成する他の方法はありますか?

ありがとうございます。

+0

質問のタイトルを編集して、自分の考えていることをよりよく説明しました。私が間違っていたら、それを戻してください。 –

+0

それは絶対に正しいです。ありがとう、トン。 @GerardoFurtado :) – Tums

答えて

3

d3.easeはすでに数値を返します。

あなただけd3.easeに必要な値を渡す必要があります。ここでは

d3.ease(type)(value); 

は、あなたの質問のように、"cubic-in"とデモです:

function ease(value) { 
 
    return d3.ease("cubic-in")(value); 
 
} 
 

 
console.log("ease for 0.1: " + ease(4)); 
 
console.log("ease for 0.5: " + ease(0.5)); 
 
console.log("ease for 0.8: " + ease(0.8)); 
 
console.log("ease for 0.95: " + ease(0.95));
<script src="https://d3js.org/d3.v3.min.js"></script>

に入れたままにしてください渡された値と返される値が0との間にあることに注意してください。 APIによると:

イージング関数は、ドメイン[0,1]の現在のパラメータ化時間値tをとり、同様の範囲内の別の値にマップします。

+0

ありがとうたくさん:) – Tums

+0

この質問で私を導くことができますか? https://stackoverflow.com/questions/45472246/how-to-use-timer-in-d3-v3ありがとうございます。 – Tums

+1

'd3.timer'ではなく' d3.timeout'が必要です。私は今、答えを書くことができません。もし誰も2時間以内に答えなければ、私はあなたにそれを行う方法を示します。 –

関連する問題