Flashのようなリッチコンテンツを作成できるJavaScriptのフレームワーク「CreateJS」を使ってみます。
CreateJSについて
CreateJSには以下の4つのライブラリが含まれています。
- EaselJS: canvas要素を扱うのを容易にするJavaScriptライブラリ。
- TweenJS: アニメーションを実装するJavaScriptライブラリ。
- SoundJS: audioを簡単に操作できるJavaScriptライブラリ。
- PreloadJS: コンテンツの先読みができるJavaScriptライブラリ。
対応ブラウザはこちらで、IE9以上から対応しています。
EaselJS
今回は公式サイトにあるGetting Startedを試してみます。
まずは4つのライブラリの中からEaselJSを使ってみます。
CreatJSの公式サイトから必要なファイルをダウンロードします。
DOWNLOADをクリック。

DOWNLOADの形式を選択します。
今回はCDNで使用するので、CDNをクリック。

EaselJSのURLをコピーして読み込ませるようにします。

<script src="https://code.createjs.com/easeljs-0.8.2.min.js"></script>
HTMLファイルにcanvasを配置します。
HTML
<canvas id="demoCanvas" width="500" height="300"></canvas>
これでEaselJSを使う準備が完了しました。
今回はEaselJSで円を描画してみます。
JavaScript
window.addEventListener('load', init, false);
function init() {
// canvasのidを指定して、ステージを定義
var stage = new createjs.Stage('demoCanvas');
// 円を作成
var circle = new createjs.Shape();
circle.graphics.beginFill('DeepSkyBlue');
circle.graphics.drawCircle(0, 0, 50);
circle.x = 100;
circle.y = 100;
stage.addChild(circle);
// ステージの更新
stage.update();
}
TweenJS
先ほどのEaselJSのサンプルにTweenJSの処理を追加してみます。
TweenJSの読み込みを追加します。
<script src="https://code.createjs.com/tweenjs-0.6.2.min.js"></script>
TweenJSでアニメーションの設定を追加してみます。
JavaScript
window.addEventListener('load', init, false);
function init() {
// canvasのidを指定して、ステージを定義
var stage = new createjs.Stage('demoCanvas');
// 円を作成
var circle = new createjs.Shape();
circle.graphics.beginFill('DeepSkyBlue');
circle.graphics.drawCircle(0, 0, 50);
circle.x = 100;
circle.y = 100;
stage.addChild(circle);
// アニメーションの設定
createjs.Tween.get(circle, { loop: true })
.to({ x: 400 }, 1000, createjs.Ease.getPowInOut(4))
.to({ alpha: 0, y: 175 }, 500, createjs.Ease.getPowInOut(2))
.to({ alpha: 0, y: 225 }, 100)
.to({ alpha: 1, y: 200 }, 500, createjs.Ease.getPowInOut(2))
.to({ x: 100 }, 800, createjs.Ease.getPowInOut(2));
createjs.Ticker.setFPS(60);
createjs.Ticker.addEventListener('tick', stage);
}
SoundJS
SoundJSを使ってみます。
SoundJSのファイルをCDNから読み込みます。
<script src="https://code.createjs.com/soundjs-0.6.2.min.js"></script>
HTMLファイルにボタンを設置します。
<button onclick="playSound();">再生</button>
SoundJSでmp3ファイルの再生を実装します。
JavaScript
var soundID = 'bgm';
window.addEventListener('load', init, false);
// soundの準備
function init() {
createjs.Sound.registerSound('bgm.mp3', soundID);
}
// soundの再生
function playSound () {
createjs.Sound.play(soundID);
}
PreloadJS
最後にPreloadJSを使ってみます。
PreloadJSのファイルをCDNから読み込みます。
<script src="https://code.createjs.com/preloadjs-0.6.2.min.js"></script>
HTMLファイルに画像読み込みを実行するボタンを設置します。
<button onclick="loadImage();">画像読み込み</button>
PreloadJSで画像の先読みを実装します。
JavaScript
function loadImage() {
var preload = new createjs.LoadQueue();
preload.addEventListener('fileload', handleFileComplete);
preload.loadFile(".//image.jpg");
}
function handleFileComplete(event) {
document.body.appendChild(event.result);
}
【参考サイト】
コメントが承認されるまで時間がかかります。