そのため、期待どおりに機能しないキャンバスをフェードインおよびフェードアウトするこれらの関数があります。現時点で私が取り組んでいるものは次のとおりです。
function fade_out ()
{
var canvas = document.getElementById("builder");
var context = canvas.getContext('2d');
console.log(context.globalAlpha);
context.globalAlpha -= 0.01;
if(context.globalAlpha > 0)
{
setTimeout(fade_out, 5);
}
}
function fade_in ()
{
var canvas = document.getElementById("builder");
var context = canvas.getContext('2d');
context.globalAlpha += 0.01;
if(context.globalAlpha < 1)
{
setTimeout(fade_in, 5);
}
}
私の意図は、0.5 秒のフェードにすることでした。私が最終的に得たのは、それが一瞬のうちに点滅したり消えたりすることでした. 最初の関数の console.log を見ると、期待どおりの動作にはほど遠いことがわかります。ここで何がうまくいかなかったのですか?
編集:無限ループが進行しているようで、context.globalAlpha は有効数字 20 桁になっていますが、そのような数字は使用していません。