enchant.js
2011年に公開された JavaScript フレームワーク
HackforPlay のステージを作る用のステージを作るために使われている
つまり「HackforPlay 上の全てのゲームは enchant.js で作られている」とも言える
特徴はイベントドリブンであること
一般的なゲームエンジンはフレームで動作するものが多い
enchant.js は、ウェブの開発に似たイベントドリブンを採用している
そのため、キャラクターの動作を分かりやすく記述でき、モジュール化しやすい
ソースコードだけでなく、ゲーム制作に欠かせないマップやキャラクターなどの豊富な素材も提供している
HackforPlay のゲームは、ほとんど全てその素材で作られている #素材提供者
サンプルコード
sample.html
<!doctype html>
<html><head><script src="enchant.js"></script></head>
<body style="margin:0; padding: 0;">
<script>
enchant(); // initialize
var game = new Core(320, 320); // game stage
game.preload('chara1.png'); // preload image
game.fps = 20;
game.onload = function(){
var bear = new Sprite(32, 32);
bear.image = game.assets['chara1.png'];
game.rootScene.addChild(bear);
bear.frame = [6, 6, 7, 7]; // select sprite frame
bear.tl.moveBy(288, 0, 90) // move right
.scaleTo(-1, 1, 10) // turn left
.moveBy(-288, 0, 90) // move left
.scaleTo(1, 1, 10) // turn right
.loop(); // loop it
};
game.start(); // start your game!
</script>
</body>
</html>