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>