私はライブ壁紙を開発しています。私は新しく、この問題に悩まされています。フェードインとフェードアウトのアニメーションを使用したスライドショーのように、キャンバスに画像を1つずつ描画する方法を教えてもらえますか。ビューとレイアウトでこのアニメーションを実行することはできますが、キャンバスで実行することはできません。助けてください!
質問する
818 次
1 に答える
0
あなたが意味するjava
のかわからないjavascript
フェードインソリューションに関するいくつかの手がかり:
var delta = 0;
var interval = 0;
var duration = 2000;
setInterval(function() {
ctx.globalAlpha = 1.0;
ctx.drawImage(oldImage);
ctx.globalAlpha = delta / duration;
ctx.drawImage(nextImage);
delta += interval;
}, interval);
タイマーの代わりにrequestAnimationFrameの使用を検討してください
(new Date).getTime()を使用して実際のデルタを計算します
いくつかの緩和方程式を試してみてください-例:
alpha = Math.sin(0.5 * Math.PI * delta / duration)
于 2012-04-24T21:34:19.857 に答える