簡體   English   中英

javascript停止動畫不起作用

[英]javascript stop animation not working

Javascript:

var canvas, stage, exportRoot;

function init() {
    canvas = document.getElementById("canvas");
    exportRoot = new lib.son();

    stage = new createjs.Stage(canvas);
    stage.addChild(exportRoot);
    stage.update();

    createjs.Ticker.setFPS(lib.properties.fps);
    createjs.Ticker.addEventListener("tick", stage);

    createjs.Ticker.setPaused(true); // Here should be stopped


}

HTML:

  <div id="loadingPanelDiv" style="position: fixed; z-index: 11111; width: 100%; height: 100%; top: 0; left: 0; background-color: rgba(255,255,255,1); display: none;">
        <canvas id="canvas" width="600" height="500" style="position: absolute; left: 50%; top: 50%; margin-left: -300px; margin-top: -250px;"></canvas>
    </div>

題:

當我單擊按鈕init()函數開始運行時。

我使用createjs.Ticker.setPaused(true);

為了停止動畫。但是它並沒有停止動畫並且仍然運行動畫。我如何停止動畫?

我想念的地方。

任何幫助將不勝感激。

謝謝。

setPaused()方法僅更改Ticker上的暫停值,但仍會分派該值。 這可能會在EaselJS的未來版本中發生變化,但是當前暫停動畫的最佳方法是從舞台上刪除“ tick”偵聽器。

// Pause
createjs.Ticker.removeEventListener("tick", stage);

// Resume
createjs.Ticker.addEventListener("tick", stage);

為了使此操作更容易控制,您可以執行以下操作:

// Add the listener to your own function instead of stage
createjs.Ticker.addEventListener("tick", tick);

var paused = false;
function tick(event) {
    if (!paused) {
        stage.update(event);
    }
}

// Then to toggle it, just change the "paused" property.
function handleButtonClick(event) {
    paused = !paused; // toggle on click
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM