0
次のコードで少し問題があります。これは、素晴らしいCreateJSライブラリを使用して、私が開発している単純なゲームのいくつかのアセットでFadeInとFadeOutアニメーションを作成するために呼び出す関数です。私はこのコードを資産のために一度実行し、最初の関数が完了したときにそれをanohter資産の上で実行する必要があります。前の関数が完了する前に実行されるJavascript関数
function fadeInOut(asset, duration, stage)
{
stage.addChild(asset)
let fadeInOut = setInterval(function()
{
asset.alpha += 1/24;
if (asset.alpha >= 1)
{
asset.alpha = 1;
setTimeout(function()
{
let fadeOut = setInterval(function()
{
asset.alpha -= 1/24;
if (asset.alpha <= 0)
{
asset.alpha = 0;
stage.removeChild(asset);
clearInterval(fadeOut);
}
}, 1000/24)
}, 1000 * duration)
clearInterval(fadeInOut);
}
}, 1000/24)
}
そして、私はこの関数を呼んでいる方法がこれです:関数は次のような関数への2回目の呼び出しはと同時に実行されている理由は、私は本当に理解していない
fadeInOut(assets.eiko, 2, stage);
fadeInOut(assets.logo, 3, stage);
最初の1つ。
私にとって本当に重要なプロジェクトなので、お手伝いできますか。
ありがとうございます。
ジャバスクリプトがどのように動作するかだ...あなたのsetInterval通話が同時に実行されている - あなたは最も内側の内側にあなたの2番目の呼び出しを配置する必要がありますsetIntervalまたは何か..あなたがより良い助けを期待する場合は、最初に問題を単純化する必要があります。 [mcve] –
を参照してください。ありがとう、私はそれを調べます。 –
TweenJS(またはtweening lib)を使用してコンテンツをフェードイン/アウトすることを検討してください。 TweenJSにはこのようなことをするための大きな連鎖APIがあります。 – Lanny