0
我在下面的代碼中遇到了一些問題。這是我打電話給我開發的一個簡單遊戲上的一些資產上創建FadeIn和FadeOut動畫的函數,它使用了很好的CreateJS庫。我需要一次爲資產運行此代碼,然後在第一個功能完成時通過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)
}
而且我調用這個函數的方式是這樣的:
fadeInOut(assets.eiko, 2, stage);
fadeInOut(assets.logo, 3, stage);
我真的不明白爲什麼給函數的第二個呼叫同時與運行第一。
希望你能幫助我,因爲這對我來說是一個非常重要的項目。
預先感謝您。
那怎麼JavaScript的工作......你的setInterval調用同時運行 - 你需要把你的第二個電話裏面最內層setInterval或其他......但如果你希望得到更好的幫助,你應該首先簡化問題。看看[mcve] –
好的,非常感謝,我會研究一下。 –
考慮使用TweenJS(或補間庫)淡入/淡出內容。 TweenJS有一個很棒的API來完成這樣的事情。 – Lanny