Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
  <h1>Frame Animation Demo</h1>
  <p>
    <canvas id="c-1" height="300px" width="300px"></canvas>
  </p>
  <script src="https://code.jquery.com/jquery-3.1.0.js"></script>
  <script src="http://ojcokbt6a.bkt.clouddn.com/ion.sound.min.js"></script>
  <script src="http://ojcokbt6a.bkt.clouddn.com/frame-animation.js"></script>
</body>
</html>
 
$(document).ready(() => {
    // ion.sound BGM
    ion.sound({
        sounds: [
            {
                name: "bgm_1",
                loop: false
            },
        ],
        volume: 0.5,
        path: "https://github.com/Zing22/frame-animation/raw/master/audio/",
        preload: true,
        multiplay: false
    });
    var framesUrl = [];
    for (let i = 1; i < 50; i++) {
        framesUrl.push('./images/frame-' + i + '.gif');
    }
    // frame animation
    var ani = new frame_ani({
        canvasTargetId: "c-1", // target canvas ID
        framesUrl: framesUrl, // frames url
        loop: true, // if loop
        height: 264, // source image's height (px)
        width: 263, // source image's width (px)
        frequency: 20, // count of frames in one second
        audioIonName: "bgm_1", // ion.sound audio name
        onComplete: function() { // complete callback
          console.log("Animation loop.");
        },
    });
    // preload & play
    ani.initialize(() => {
        ani.play();
    });
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers