2014-10-21 2 views
0

Являясь новичком в холсте, я просто пытаюсь понять, как управлять замиранием/выпадением. До сих пор я придумал вполне очевидное решение:Холст - затухание в скорости?

var alpha = 0.01; 
     c.globalAlpha = alpha; 
     c.font="44px Georgia"; 
     c.fillStyle = '#fff'; 
     c.fillText("Ave Satani!!",120,250); 
     if(alpha < 1.0) 
     { 

     alpha += 0.01; 
     requestAnimationFrame(draw);  
      } 

Хотя это не позволяет мне установить скорость анимации, и это слишком быстро. Любые советы? Заранее спасибо!

+0

Сделать изменение альфы функцией времени. Тогда будет очевидно, как изменить скорость. Не очевидно, что такое 'draw' – zerkms

+0

« draw »- это функция. этот код является простым фрагментом из анимации баннера. «Сделать изменение альфы функцией времени» - извините, приятель, но я понятия не имею, как это можно сделать ... – Rossitten

+1

http://jsfiddle.net/Ld5oque8/ - как вы видите, ширина равна рассчитывается как функция времени здесь – zerkms

ответ

1

Вам просто нужно замедлить прирост альфа-значения. поэтому вы можете использовать другую переменную для замедления скорости.

http://jsfiddle.net/dlinx/968y1e3z/ Вот что вы хотите, меньшее значение скорости, быстрее переход, более высокое значение, медленнее анимация.

var c = document.getElementById("can").getContext("2d"); 
var alpha = 0.01; 
var i=0,speed=10; 
c.globalAlpha = 0; 

draw(); 
function draw() { 
    c.globalAlpha = alpha; 
    c.font = "44px Georgia"; 
    c.fillStyle = '#000'; 
    c.fillText("Ave Satani!!", 120, 250); 
    i+=1; 
    if (alpha < 1.0) { 
     if(i%speed===0) 
     alpha += 0.001; 
     requestAnimationFrame(draw); 
    } 
} 
Смежные вопросы