ももちゃんごっこ

小五の下の娘は小さなものを集めて作るものをいくつか趣味にしています。

パズルは1000ピースのものも完成させますし、ビーズのネックレス制作キットは私が挫折したものを完成させて今では全部一人で作っています。

そしてこの定番おもちゃ、アイロンビーズも、慣れたものですごい速さで作ってしまいます。

何か作って欲しいものはないか・・というので、ドット絵をPiskelのところでコピーしてマス目がわかるように印刷したら、それを基につくってくれました。

製作中

 

 

 

 

 

 

 

 

 

 

 

 

出来上がってみると意外に大きく、これはお面にもなるぞということで、娘はお面にしてももちゃんごっこを始めました。

娘:「はい、私がももちゃんです!私は、ゲームの中で生まれたんです。それで、ゲームの中で、いろいろなことをしているので、よかったら、ぜひ遊んでくださいね〜」

それを聞いていた息子の一言。

息子:「・・・ほとんど、屁だろ・・」

ひ、ひどい・・あはは

ド・レ・か当ててミ・ソ~♪(解説)

🎹ピアノdeぽ~ん!🎹をさらに発展させて、音がなるのでそれが何の音か当てるゲームにしました。

自動的に音がなる仕組みは、透明の鍵盤を上から落として、下の鍵盤に当たったらその音が鳴るという仕組みです。鍵盤の位置はド〜上のドまで、8箇所の位置いずれか0〜7の間のランダムで落ちるようにすれば、ランダムで音がなるという訳です。

この時はまだ画像を透明にする方法を知らなくて、透明の画像を描いて、それを置きました。

後から知って、そんな簡単な方法があったのか・・となりましたが、こういうことがあると、その後から教えてもらった便利な方法はすぐ覚えて忘れません。

だから、forループを知らずに100個描いたら、forループを知ったなら感動してすぐ覚えるでしょうし、苦労して面倒な書き方をしていれば、関数の便利さも実感できます。自分なりの工夫の苦労も、無駄じゃないと思います。

ソースコードはこちら(自由研究:18ドレミ音当て)

満腹ももちゃんDeluxe(解説)

満腹ももちゃんeasy超∞満腹Hardをまとめて一つにして、タイトル画面で選べるようにしたものです。中身は同じなので、タイトル画面のソースコードだけ載せておきます。

// Main
console.log("Hello EnchantJS!!");

var assets = [
    "images/back_sky.png",
    "images/title.png",// タイトル
    "sounds/coin.mp3",
    "sounds/jump.mp3",
    "images/cf307/momo.png",
    "images/joe_gass.png",
    "sounds/gass.mp3",
    "images/cf307/oimo (3).png",
    "images/cf307/oimohokahoka1.png", 
    "images/b_left.png", 
    "images/b_right.png",
    "images/cf307/wareimo (1).png",
    "images/cf307/wareimo1 (2).png",
    "sounds/cf307/jump12.mp3", 
    "images/title_gameclear.png",
    "images/cf307/blueground.png",
    "images/title_gameover.png",
    "images/cf307/momochanzannen.png",
    "sounds/cf307/se_maoudamashii_onepoint31.mp3",
    "sounds/cf307/correct2.mp3",
    "images/cf307/oimokirakira.png",
    "images/cf307/oimokirakira1.png",
    "images/cf307/igaguri.png",
    "images/cf307/igagurikuru.png",
    "images/b_red.png",
    "images/cf307/hi.png",
    "sounds/cf307/matchstick-put-fire1.mp3",
    "sounds/bomb.mp3",
    "images/bomb.png",
    "sounds/cf307/strike1.mp3",
    "images/back_mountain.png",
    "sounds/cf307/kotsudumi1.mp3",
    "sounds/cf307/suck1.mp3",
    "images/cf307/wareguri.png", 
    "images/cf307/mannpukudeluxeicony1.png", 
    "images/cf307/momobotann.png",
    "images/cf307/momochanzannenbotan1.png",
    "images/cf307/momozannenbotan.png",
    "images/cf307/oimokirahoka.png", 
    "sounds/cf307/ME010fanfare01.mp3",
    "images/cf307/manpukumomoicon.png",
    "images/cf307/mugennmanpukuicon.png",      
];

function title(){// タイトル画面
    scene = gameManager.createGameScene();
    core.replaceScene(scene); core.resume();

    //==========

    // ここから
    //==========

    // 背景    
    scene.backgroundColor = "rgb(255, 255, 224)";

    // 
    var sound = core.assets["sounds/cf307/ME010fanfare01.mp3"].clone();
                sound.play();
    // アイコン
    var icon = new ExSprite(150, 150);
    icon.image = core.assets["images/cf307/mannpukudeluxeicony1.png"];
    icon.x = 320 / 2 - 150 / 2;
    icon.y = 50;    
    icon.scale(1.4, 1.4);
    scene.addChild(icon);   
 
    // タイトル
    var label1 = new Label("   おなかすいたー!");
    label1.color = 'black';
    label1.font = "28px 'PixelMplus10'";
    label1.textAlign = "center";
    label1.y = 245;
    scene.addChild(label1);

    // ラベル2
    var label2 = new Label("   おいもだいすき!");
    label2.color = 'black';
    label2.font = "28px 'PixelMplus10'";
    label2.textAlign = "center";
    //label2.x = 25;
    label2.y = 285;
    scene.addChild(label2);

    // EASYアイコン       
    var icon1 = new ExSprite(150, 150);
    icon1.image = core.assets["images/cf307/manpukumomoicon.png"];
    scene.addChild(icon1);
    icon1.x = 5;
    icon1.y = 480 - 150;
    icon1.scale(0.8, 0.8);

    // EASYの文字
    var label3 = new Label("  EASY");
    label3.color = 'black';
    label3.font = "18px 'PixelMplus10'";
    label3.x = 160 / 2 - 18 * 4 / 2 + 3;
    //label3.textAlign = "center" ;
    label3.y = 480 - 22;
    scene.addChild(label3);

    // EASYiconをタッチ
    icon1.addEventListener(Event.TOUCH_START, function(){
        icon1.tl.moveBy(0, 8, 0);
        console.log("タッチしました");
    });
    icon1.addEventListener(Event.TOUCH_END, function(){       
        gameStart1();
    });

    // HARDアイコン       
    var icon2 = new ExSprite(150, 150);
    icon2.image = core.assets["images/cf307/mugennmanpukuicon.png"];
    scene.addChild(icon2);
    icon2.x = 160 + 5;
    icon2.y = 480 - 150;
    icon2.scale(0.8, 0.8);

    // HARDの文字
    var label4 = new Label("  HARD");
    label4.color = 'black';
    label4.font = "18px 'PixelMplus10'";
    label4.x = 160 / 2 - 18 * 4 / 2 + 3 + 160;
    //label3.textAlign = "center" ;
    label4.y = 480 - 22;
    scene.addChild(label4);

    // HARDiconをタッチ
    icon2.addEventListener(Event.TOUCH_START, function(){        
        icon2.tl.moveBy(0, 8, 0);
        console.log("タッチしました");
    });
    icon2.addEventListener(Event.TOUCH_END, function(){
        //botan2.frame = 0;
        gameStart2();
    });

    //==========
    // ここまで
    //==========

}

function gameStart1(){// ゲーム画面
    scene = gameManager.createGameScene();
    core.replaceScene(scene); core.resume();

    //==========
    // ここから
    //==========

(以下略)

🎹ピアノdeぽ~ん!🎹(解説)

 🎹ぴあのdeキャラ🎹 をさらに発展させて、ピアノを弾いたときに出てきたキャラをクリックすると、ポン!と音が鳴って雲に戻り、カウントされるというものです。今見たらところどころ;が抜けているのですが、なぜか動いてます。なんでだろー?

// Main
console.log("Hello EnchantJS!!");

var assets = [
    "images/back_mountain.png",
    "images/kati_land.png",
    "images/kati_tanuki.png",
    "images/title.png",// タイトル
    "sounds/coin.mp3",
    "sounds/jump.mp3",
    "images/cf307/kennbanmigi.png",
    "images/cf307/kennbanhidari.png",
    "sounds/piano1_1do.mp3",
    "images/cf307/kennbannaka.png",
    "sounds/piano1_2re.mp3",
    "images/cf307/backonpu1.png",
    "images/cf307/kennbanhidari.png",
    "sounds/piano1_3mi.mp3",
    "sounds/piano1_4fa.mp3",
    "sounds/piano1_5so.mp3",
    "sounds/piano1_6ra.mp3",
    "sounds/piano1_7si.mp3",
    "sounds/piano1_8do.mp3",
    "images/bk_body.png",
    "images/cf307/holekumo(1).png",
    "images/cf307/tono1.png",
    "images/cf307/mogura rg.png",
    "images/cf307/mogura rg1.png",
    "images/cf307/nekonemuri.png",
    "images/cf307/nekohako.png",
    "images/cf307/zyonipyon (1).png",
    "images/cf307/zyoni.png",
    "images/cf307/momochanzannen.png",
    "images/cf307/momochan.png",
    "images/cf307/perapera.png",
    "images/cf307/hebipiro.png",
    "images/cf307/takochanugoku.png", 
    "images/bk_mage.png",
    "sounds/cf307/kotsudumi1.mp3",
];

function gameStart(){// ゲーム画面
    scene = gameManager.createGameScene();
    core.replaceScene(scene); core.resume();

    //==========
    // ここから
    //==========

    scene.backgroundColor = "#00ffff";
    
    // 背景
    var background1 = new ExSprite(320, 480);
    background1.image = core.assets['images/cf307/backonpu1.png'];
    scene.addChild(background1);
    background1.x = 0;
    background1.y = -480;
    var background2 = new ExSprite(320, 480);
    background2.image = core.assets['images/cf307/backonpu1.png'];
    scene.addChild(background2);
   
    // スコア表示
    var score = 0;
    scoreLabel = new Label('SCORE : 0');
    scene.addChild(scoreLabel);
    scoreLabel.x = 10;
    scoreLabel.y = 10;
    scoreLabel.color = 'black';
    scoreLabel.font = "24px 'PixelMplus10'";
    scoreLabel.addEventListener(Event.ENTER_FRAME, function() {
        scoreLabel.text = '♪ぽん! : ' + score;
    });

    // モグ(レ)
    var mogu = new Sprite(82, 65);
    mogu.image = core.assets["images/cf307/mogura rg1.png"];
    mogu.x = 40;
    mogu.y = 70;
    scene.addChild(mogu);   

    // モグの穴
    var hole1 = new Sprite(82, 65);
    hole1.image = core.assets["images/cf307/holekumo(1).png"];
    hole1.x = 40;
    hole1.y = 70;
    scene.addChild(hole1);

    // まげ
    var mage = new Sprite(45, 60);
    mage.image = core.assets["images/bk_mage.png"];
    scene.addChild(mage);
    mage.x = -43;
    mage.y = 150;
    mage.scale(82 / 190, 82 / 190);

    // 殿ド
    var tono = new Sprite(190, 120);
    tono.image = core.assets["images/cf307/tono1.png"];
    tono.x = 10 - 53;
    tono.y = 150;
    scene.addChild(tono);
    tono.scale(82 / 190, 82 / 190);
    
    // 殿の穴
    var hole0 = new Sprite(82, 65);
    hole0.image = core.assets["images/cf307/holekumo(1).png"];
    hole0.x = 10;
    hole0.y = 180;
    scene.addChild(hole0);

    // ねこ(上のド)
    var neko = new Sprite(64, 64);
    neko.image = core.assets["images/cf307/nekonemuri.png"];
    neko.x = 320 - 82 + 41 - neko.width / 2;
    neko.y = 100;
    scene.addChild(neko);
    //neko.scale(82 / 190, 82 / 190);

    // ねこの穴
    var hole2 = new Sprite(82, 65);
    hole2.image = core.assets["images/cf307/holekumo(1).png"];
    hole2.x = 320 - 82;
    hole2.y = 100;
    scene.addChild(hole2);

  // ぺらぺら小僧(ファ)
    var pera = new Sprite(64, 64);
    pera.image = core.assets["images/cf307/perapera.png"];
    pera.x = 40 * 3 + 41 - pera.width / 2;
    pera.y = 135;
    scene.addChild(pera);
    pera.scale(0.8, 0.8);   

    // ぺらの穴
    var holefa = new Sprite(82, 65);
    holefa.image = core.assets["images/cf307/holekumo(1).png"];
    holefa.x = 40 * 3;
    holefa.y = 135;
    scene.addChild(holefa);

  // ももちゃん(ラ)
    var momo = new Sprite(32, 32);
    momo.image = core.assets["images/cf307/momochanzannen.png"];
    momo.x = 40 * 5 + 41 - momo.width / 2;
    momo.y = 183;
    scene.addChild(momo);
    momo.scale(1.2, 1.2);   

    // ももちゃんの穴
    var holera = new Sprite(82, 65);
    holera.image = core.assets["images/cf307/holekumo(1).png"];
    holera.x = 40 * 5;
    holera.y = 175;
    scene.addChild(holera);

  // ぬへ小僧(ソ)
    var kozou = new Sprite(64, 64);
    kozou.image = core.assets["images/cf307/zyonipyon (1).png"];
    kozou.x = 40 * 4 + 41 - kozou.width / 2;
    kozou.y = 240;
    scene.addChild(kozou);  
  
    // その穴
    var holeso = new Sprite(82, 65);
    holeso.image = core.assets["images/cf307/holekumo(1).png"];
    holeso.x = 40 * 4;
    holeso.y = 240;
    scene.addChild(holeso);

    // へび(ミ)
    var hebi = new Sprite(82, 65);
    hebi.image = core.assets["images/cf307/hebipiro.png"];
    hebi.x = 40 * 2;
    hebi.y = 290;
    scene.addChild(hebi);    
    hebi.scale(0.8, 0.8);

    // へびの穴
    var holemi = new Sprite(82, 65);
    holemi.image = core.assets["images/cf307/holekumo(1).png"];
    holemi.x = 40 * 2;
    holemi.y = 290;
    scene.addChild(holemi);

    // たこちゃん(シ)
    var tako = new Sprite(32, 32);
    tako.image = core.assets["images/cf307/takochanugoku.png"];
    tako.x = 40 * 6 + 41 - tako.width / 2;
    tako.y = 330;
    scene.addChild(tako);
    tako.scale(1.2, 1.2); 
  
    // たこちゃんの穴
    var holesi = new Sprite(82, 65);
    holesi.image = core.assets["images/cf307/holekumo(1).png"];
    holesi.x = 40 * 6;
    holesi.y = 320;
    scene.addChild(holesi);

    // 
    var kennbanmigi = new ExSprite(40, 104);
    kennbanmigi.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(kennbanmigi);
    kennbanmigi.x = 0;
    kennbanmigi.y = 480 - 104;
    // タップ
    kennbanmigi.addEventListener(Event.TOUCH_START, function(){
        kennbanmigi.frame = 1;
        var sound = core.assets['sounds/piano1_1do.mp3'].clone();
        sound.play(); 
        // 殿が出てくる
        tono.tl.clear();
        mage.tl.clear();    
        tono.image = core.assets["images/cf307/tono1.png"];
        tono.tl.moveBy(0, -55, 12);
        mage.tl.moveTo(tono.x + tono.width / 2 - mage.width / 2, tono.y - 10, 0);
        mage.tl.moveBy(0, -55, 12);
        tono.tl.then(function(){
            tono.image = core.assets["images/bk_body.png"];
            tono.tl.moveTo(-43, 150, 12);
            mage.tl.moveTo(tono.x + tono.width / 2 - mage.width / 2, 150, 12);
            mage.tl.moveTo(-43, 150, 0);
        });
    });
    // タップ終了
    kennbanmigi.addEventListener(Event.TOUCH_END, function(){
        kennbanmigi.frame = 0;        
    });
    // 殿をタップした時
    tono.addEventListener(Event.TOUCH_START, function() {
        tono.tl.clear();
        tono.tl.moveTo(-43, 150, 0);
        mage.tl.moveTo(-43, 150, 0);
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;
    });     

   // レ 
    var kennbannaka = new ExSprite(40, 104);
    kennbannaka.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(kennbannaka);
    kennbannaka.x = 40;
    kennbannaka.y = 480 - 104;
    // タップ
    kennbannaka.addEventListener(Event.TOUCH_START, function(){
        kennbannaka.frame = 1;
        var sound = core.assets['sounds/piano1_2re.mp3'].clone();
        sound.play();
        // moguが出てくる
        mogu.tl.clear();    
        mogu.image = core.assets["images/cf307/mogura rg1.png"];
        mogu.tl.moveBy(0, -50, 12);
        mogu.tl.then(function(){
            mogu.image = core.assets["images/cf307/mogura rg.png"];
            mogu.tl.moveTo(40, 70, 12); 
        });
    });
    // タップ終了
    kennbannaka.addEventListener(Event.TOUCH_END, function(){
        kennbannaka.frame = 0;
    });
    // モグをタップした時
   mogu.addEventListener(Event.TOUCH_START, function() {
        mogu.tl.clear();
        mogu.tl.moveTo(40, 70, 0);       
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;
    }); 

    // ミ 
    var kennbanhidari = new ExSprite(40, 104);
    kennbanhidari.image = core.assets["images/cf307/kennbanhidari.png"];
    scene.addChild(kennbanhidari);
    kennbanhidari.x = 40 + 40;
    kennbanhidari.y = 480 - 104;
    // タップ
    kennbanhidari.addEventListener(Event.TOUCH_START, function(){
        kennbanhidari.frame = 1;
        var sound = core.assets['sounds/piano1_3mi.mp3'].clone();
        sound.play();
        // へびが出てくる
        hebi.tl.clear();    
        hebi.image = core.assets["images/cf307/hebipiro.png"];
        hebi.frame = [0, 1, 2]; 
        hebi.tl.moveBy(0, -60, 12);
        hebi.frame = [0, 0, 1, 1, 2, 2];
        hebi.tl.then(function(){
            hebi.frame = [0];
            hebi.tl.moveTo(40 * 2, 290, 12); 
        });
    });
    // タップ終了
    kennbanhidari.addEventListener(Event.TOUCH_END, function(){
        kennbanhidari.frame = 0;
    });
    // へびをタップした時
   hebi.addEventListener(Event.TOUCH_START, function() {
        hebi.tl.clear();
        hebi.tl.moveTo(40 * 2, 290, 0);       
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;
    }); 

    // ファ 
    var fa = new ExSprite(40, 104);
    fa.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(fa);
    fa.x = 40 + 40 + 40;
    fa.y = 480 - 104;
    // タップ
    fa.addEventListener(Event.TOUCH_START, function(){
        fa.frame = 1;
        var sound = core.assets['sounds/piano1_4fa.mp3'].clone();
        sound.play();
        // ぺらぺら小僧が出てくる
        pera.tl.clear();    
        pera.image = core.assets["images/cf307/perapera.png"];
        pera.frame = [0, 1, 2];
        pera.tl.moveBy(0, -50, 12);
        pera.tl.then(function(){
            pera.frame = [2];
            pera.tl.moveTo(40 * 3 + 41 - pera.width / 2, 135, 12);
        });
    });
    // タップ終了
    fa.addEventListener(Event.TOUCH_END, function(){
        fa.frame = 0;
    });
    // ぺらぺら小僧をタップした時
   pera.addEventListener(Event.TOUCH_START, function() {
        pera.tl.clear();
        pera.tl.moveTo(40 * 3 + 41 - pera.width / 2, 135, 0);       
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;
    })

    // ソ 
    var so = new ExSprite(40, 104);
    so.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(so);
    so.x = 40 + 40 + 40 + 40;
    so.y = 480 - 104;
    // タップ
    so.addEventListener(Event.TOUCH_START, function(){
        so.frame = 1;
        var sound = core.assets['sounds/piano1_5so.mp3'].clone();
        sound.play();
        // ぬへ小僧が出てくる
        kozou.tl.clear();    
        kozou.image = core.assets["images/cf307/zyonipyon (1).png"];
        kozou.frame = [0, 0, 1, 1]; 
        kozou.tl.moveBy(0, -60, 12);
        kozou.tl.then(function(){
            kozou.image = core.assets["images/cf307/zyoni.png"];
            kozou.tl.moveTo(40 * 4 + 41 - kozou.width / 2, 240, 12); 
        });
    });
    // タップ終了
    so.addEventListener(Event.TOUCH_END, function(){
        so.frame = 0;
    });
    // ぬへ小僧をタップした時
   kozou.addEventListener(Event.TOUCH_START, function() {
        kozou.tl.clear();
        kozou.tl.moveTo(40 * 4 + 41 - kozou.width / 2, 240, 0);       
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;
    })

    // ラ 
    var ra = new ExSprite(40, 104);
    ra.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(ra);
    ra.x = 40 + 40 + 40 + 40 + 40;
    ra.y = 480 - 104;
    // タップ
    ra.addEventListener(Event.TOUCH_START, function(){
        ra.frame = 1;
        var sound = core.assets['sounds/piano1_6ra.mp3'].clone();
        sound.play();
        // ももちゃんが出てくる
        momo.tl.clear();    
        momo.image = core.assets["images/cf307/momochanzannen.png"];
        momo.tl.moveBy(0, -45, 12);
        momo.tl.then(function(){
            momo.image = core.assets["images/cf307/momochan.png"];
            momo.tl.moveTo(40 * 5 + 41 - momo.width / 2, 183, 12); 
        });
    });
    // タップ終了
    ra.addEventListener(Event.TOUCH_END, function(){
        ra.frame = 0;
    });
    // ももちゃんをタップした時
   momo.addEventListener(Event.TOUCH_START, function() {
        momo.tl.clear();
        momo.tl.moveTo(40 * 5 + 41 - momo.width / 2, 183, 0);       
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;
    });

    // シ 
    var si = new ExSprite(40, 104);
    si.image = core.assets["images/cf307/kennbanhidari.png"];
    scene.addChild(si);
    si.x = 40 + 40 + 40 + 40 + 40 + 40;
    si.y = 480 - 104;
    // タップ
    si.addEventListener(Event.TOUCH_START, function(){
        si.frame = 1;
        var sound = core.assets['sounds/piano1_7si.mp3'].clone();
        sound.play();
        // たこちゃんが出てくる
        tako.tl.clear();    
        tako.image = core.assets["images/cf307/takochanugoku.png"];
        tako.tl.moveBy(0, -50, 12);
        tako.frame = [0, 0, 1, 1];
        tako.tl.then(function(){
            tako.frame = [0];
            tako.tl.moveTo(40 * 6 + 41 - tako.width / 2, 330, 12); 
        });
    });
    // タップ終了
    si.addEventListener(Event.TOUCH_END, function(){
        si.frame = 0;
    });
    // たこちゃんをタップした時
   tako.addEventListener(Event.TOUCH_START, function() {
        tako.tl.clear();
        tako.tl.moveTo(40 * 6 + 41 - tako.width / 2, 330, 0);       
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;
    });

    // ド 
    var do8 = new ExSprite(40, 104);
    do8.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(do8);
    do8.x = 280;
    do8.y = 480 - 104;
    // タップ
    do8.addEventListener(Event.TOUCH_START, function(){
        do8.frame = 1;
        var sound = core.assets['sounds/piano1_8do.mp3'].clone();
        sound.play();
        // 猫が出てくる
        neko.tl.clear();    
        neko.image = core.assets["images/cf307/nekonemuri.png"];
        neko.tl.moveBy(0, -64, 12);
        neko.frame = [0, 0, 1, 1];
        neko.tl.then(function(){
            neko.image = core.assets["images/cf307/nekohako.png"];
            neko.tl.moveTo(320 - 82 + 41 - neko.width / 2, 100, 12); 
        });
    });
    // タップ終了
    do8.addEventListener(Event.TOUCH_END, function(){
        do8.frame = 0;
    });
    // 猫ちゃんをタップした時
   neko.addEventListener(Event.TOUCH_START, function() {
        neko.tl.clear();
        neko.tl.moveTo(320 - 82 + 41 - neko.width / 2, 100, 0);       
        var sound = core.assets["sounds/cf307/kotsudumi1.mp3"].clone();
        sound.play();
        score += 1;    
        neko.image = core.assets["images/cf307/nekohako.png"]; //zがはみ出すので
    });
   
    // 画面がタップされたら
    scene.addEventListener(Event.TOUCH_START, function(){
        background1.tl.clear();
        background2.tl.clear();
        console.log("音符よ動け!!");
        background1.tl.moveBy(0, 480 * 24 / 150, 24);
        background2.tl.moveBy(0, 480 * 24 / 150, 24);
        // 背景スクロール
        if(background2.y >= 480){
            console.log("スクロールして!!");      
            background2.y = background1.y - 480;
        }
       if(background1.y >= 480){
            background1.y = background2.y - 480;
        }
    });  
 
    //==========
    // ここまで
    //==========

}

function getRandom(start, end) {
    return start + Math.floor( Math.random() * (end - start + 1));
}

function titleStart(){// タイトル画面
    var scene = gameManager.createTitleScene();
    core.replaceScene(scene); core.pause();
    scene.on(enchant.Event.TOUCH_START, function(){gameStart();});
}

//==========
// EnchantJS
enchant();
var gameManager;
var core;
var scene;
window.onload = function(){
    gameManager = new common.GameManager();
    core = gameManager.createCore(320, 480);
    core.preload(assets);
    core.onload = function(){titleStart();};
    core.start();
}

🎹ぴあのdeキャラ🎹(解説)

🎹ぴあの🎹シンプルを発展させて、音を鳴らすと雲の上からキャラクターが顔を出すというものです。

// Main
console.log("Hello EnchantJS!!");

var assets = [
    "images/back_mountain.png",
    "images/kati_land.png",
    //"images/kati_tanuki.png",
    "images/title.png",// タイトル
    "sounds/coin.mp3",
    "sounds/jump.mp3",
    "images/cf307/kennbanmigi.png",
    "images/cf307/kennbanhidari.png",
    "sounds/piano1_1do.mp3",
    "images/cf307/kennbannaka.png",
    "sounds/piano1_2re.mp3",
    "images/cf307/backonpu1.png",
    "images/cf307/kennbanhidari.png",
    "sounds/piano1_3mi.mp3",
    "sounds/piano1_4fa.mp3",
    "sounds/piano1_5so.mp3",
    "sounds/piano1_6ra.mp3",
    "sounds/piano1_7si.mp3",
    "sounds/piano1_8do.mp3",
    "images/bk_body.png",
    "images/cf307/holekumo(1).png",
    "images/cf307/tono1.png",
    "images/cf307/mogura rg.png",
    "images/cf307/mogura rg1.png",
    "images/cf307/nekonemuri.png",
    "images/cf307/nekohako.png",
    "images/cf307/zyonipyon (1).png",
    "images/cf307/zyoni.png",
    "images/cf307/momochanzannen.png",
    "images/cf307/momochan.png",
    "images/cf307/perapera.png",
    "images/cf307/hebipiro.png",
    "images/cf307/takochanugoku.png", 
    "images/bk_mage.png",
];

function gameStart(){// ゲーム画面
    scene = gameManager.createGameScene();
    core.replaceScene(scene); core.resume();

    //==========
    // ここから
    //==========

    scene.backgroundColor = "#00ffff";
    
    // 背景
    var background1 = new ExSprite(320, 480);
    background1.image = core.assets['images/cf307/backonpu1.png'];
    scene.addChild(background1);
    background1.x = 0;
    background1.y = -480;
    var background2 = new ExSprite(320, 480);
    background2.image = core.assets['images/cf307/backonpu1.png'];
    scene.addChild(background2);
   
    // モグ(レ)
    var mogu = new Sprite(82, 65);
    mogu.image = core.assets["images/cf307/mogura rg1.png"];
    mogu.x = 40;
    mogu.y = 70;
    scene.addChild(mogu);   

    // モグの穴
    var hole1 = new Sprite(82, 65);
    hole1.image = core.assets["images/cf307/holekumo(1).png"];
    hole1.x = 40;
    hole1.y = 70;
    scene.addChild(hole1);

    // まげ
    var mage = new Sprite(45, 60);
    mage.image = core.assets["images/bk_mage.png"];
    scene.addChild(mage);
    mage.x = -43;
    mage.y = 150;
    mage.scale(82 / 190, 82 / 190);

    // 殿ド
    var tono = new Sprite(190, 120);
    tono.image = core.assets["images/cf307/tono1.png"];
    tono.x = 10 - 53;
    tono.y = 150;
    scene.addChild(tono);
    tono.scale(82 / 190, 82 / 190); 
   
    // 殿の穴
    var hole0 = new Sprite(82, 65);
    hole0.image = core.assets["images/cf307/holekumo(1).png"];
    hole0.x = 10;
    hole0.y = 180;
    scene.addChild(hole0);

    // ねこ(上のド)
    var neko = new Sprite(64, 64);
    neko.image = core.assets["images/cf307/nekonemuri.png"];
    neko.x = 320 - 82 + 41 - neko.width / 2;
    neko.y = 100;
    scene.addChild(neko);
   
    // ねこの穴
    var hole2 = new Sprite(82, 65);
    hole2.image = core.assets["images/cf307/holekumo(1).png"];
    hole2.x = 320 - 82;
    hole2.y = 100;
    scene.addChild(hole2);
    // ぺらぺら小僧(ファ)
    var pera = new Sprite(64, 64);
    pera.image = core.assets["images/cf307/perapera.png"];
    pera.x = 40 * 3 + 41 - pera.width / 2;
    pera.y = 135;
    scene.addChild(pera);
    pera.scale(0.8, 0.8);   

    // ぺらの穴
    var holefa = new Sprite(82, 65);
    holefa.image = core.assets["images/cf307/holekumo(1).png"];
    holefa.x = 40 * 3;
    holefa.y = 135;
    scene.addChild(holefa);
    // ももちゃん(ラ)
    var momo = new Sprite(32, 32);
    momo.image = core.assets["images/cf307/momochanzannen.png"];
    momo.x = 40 * 5 + 41 - momo.width / 2;
    momo.y = 183;
    scene.addChild(momo);
    momo.scale(1.2, 1.2);   

    // ももちゃんの穴
    var holera = new Sprite(82, 65);
    holera.image = core.assets["images/cf307/holekumo(1).png"];
    holera.x = 40 * 5;
    holera.y = 175;
    scene.addChild(holera);
    // ぬへ小僧(ソ)
    var kozou = new Sprite(64, 64);
    kozou.image = core.assets["images/cf307/zyonipyon (1).png"];
    kozou.x = 40 * 4 + 41 - kozou.width / 2;
    kozou.y = 240;
    scene.addChild(kozou);  
  
    // その穴
    var holeso = new Sprite(82, 65);
    holeso.image = core.assets["images/cf307/holekumo(1).png"];
    holeso.x = 40 * 4;
    holeso.y = 240;
    scene.addChild(holeso);

    // へび(ミ)
    var hebi = new Sprite(82, 65);
    hebi.image = core.assets["images/cf307/hebipiro.png"];
    hebi.x = 40 * 2;
    hebi.y = 290;
    scene.addChild(hebi);    
    hebi.scale(0.8, 0.8);

    // へびの穴
    var holemi = new Sprite(82, 65);
    holemi.image = core.assets["images/cf307/holekumo(1).png"];
    holemi.x = 40 * 2;
    holemi.y = 290;
    scene.addChild(holemi);

    // たこちゃん(シ)
    var tako = new Sprite(32, 32);
    tako.image = core.assets["images/cf307/takochanugoku.png"];
    tako.x = 40 * 6 + 41 - tako.width / 2;
    tako.y = 330;
    scene.addChild(tako);
    tako.scale(1.2, 1.2);  
 
    // たこちゃんの穴
    var holesi = new Sprite(82, 65);
    holesi.image = core.assets["images/cf307/holekumo(1).png"];
    holesi.x = 40 * 6;
    holesi.y = 320;
    scene.addChild(holesi);

    // 
    var kennbanmigi = new ExSprite(40, 104);
    kennbanmigi.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(kennbanmigi);
    kennbanmigi.x = 0;
    kennbanmigi.y = 480 - 104;
    // タップ
    kennbanmigi.addEventListener(Event.TOUCH_START, function(){
        kennbanmigi.frame = 1;
        var sound = core.assets['sounds/piano1_1do.mp3'].clone();
        sound.play(); 
        // 殿が出てくる
        tono.tl.clear();
        mage.tl.clear();    
        tono.image = core.assets["images/cf307/tono1.png"];
        tono.tl.moveBy(0, -55, 12);
        mage.tl.moveTo(tono.x + tono.width / 2 - mage.width / 2, tono.y - 10, 0);
        mage.tl.moveBy(0, -55, 12);
        tono.tl.then(function(){
            tono.image = core.assets["images/bk_body.png"];
            tono.tl.moveTo(-43, 150, 12);
            mage.tl.moveTo(tono.x + tono.width / 2 - mage.width / 2, 150, 12);
            mage.tl.moveTo(-43, 150, 0);
        });
    });
    // タップ終了
    kennbanmigi.addEventListener(Event.TOUCH_END, function(){
        kennbanmigi.frame = 0;        
    });
    // レ 
    var kennbannaka = new ExSprite(40, 104);
    kennbannaka.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(kennbannaka);
    kennbannaka.x = 40;
    kennbannaka.y = 480 - 104;
    // タップ
    kennbannaka.addEventListener(Event.TOUCH_START, function(){
        kennbannaka.frame = 1;
        var sound = core.assets['sounds/piano1_2re.mp3'].clone();
        sound.play();
        // moguが出てくる
        mogu.tl.clear();    
        mogu.image = core.assets["images/cf307/mogura rg1.png"];
        mogu.tl.moveBy(0, -50, 12);
        mogu.tl.then(function(){
            mogu.image = core.assets["images/cf307/mogura rg.png"];
            mogu.tl.moveTo(40, 70, 12); 
        });
    });
    // タップ終了
    kennbannaka.addEventListener(Event.TOUCH_END, function(){
        kennbannaka.frame = 0;
    });

    // ミ 
    var kennbanhidari = new ExSprite(40, 104);
    kennbanhidari.image = core.assets["images/cf307/kennbanhidari.png"];
    scene.addChild(kennbanhidari);
    kennbanhidari.x = 40 + 40;
    kennbanhidari.y = 480 - 104;
    // タップ
    kennbanhidari.addEventListener(Event.TOUCH_START, function(){
        kennbanhidari.frame = 1;
        var sound = core.assets['sounds/piano1_3mi.mp3'].clone();
        sound.play();
        // へびが出てくる
        hebi.tl.clear();    
        hebi.image = core.assets["images/cf307/hebipiro.png"];
        hebi.frame = [0, 1, 2]; 
        hebi.tl.moveBy(0, -60, 12);
        hebi.frame = [0, 0, 1, 1, 2, 2];
        hebi.tl.then(function(){
            hebi.frame = [0];
            hebi.tl.moveTo(40 * 2, 290, 12); 
        });
    });
    // タップ終了
    kennbanhidari.addEventListener(Event.TOUCH_END, function(){
        kennbanhidari.frame = 0;
    });

    // ファ 
    var fa = new ExSprite(40, 104);
    fa.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(fa);
    fa.x = 40 + 40 + 40;
    fa.y = 480 - 104;
    // タップ
    fa.addEventListener(Event.TOUCH_START, function(){
        fa.frame = 1;
        var sound = core.assets['sounds/piano1_4fa.mp3'].clone();
        sound.play();
        // ぬへ小僧が出てくる
        pera.tl.clear();    
        pera.image = core.assets["images/cf307/perapera.png"];
        pera.frame = [0, 1, 2];
        pera.tl.moveBy(0, -50, 12);
        pera.tl.then(function(){
            pera.frame = [2];
            pera.tl.moveTo(40 * 3 + 41 - pera.width / 2, 135, 12);
        });
    });
    // タップ終了
    fa.addEventListener(Event.TOUCH_END, function(){
        fa.frame = 0;
    });

    // ソ 
    var so = new ExSprite(40, 104);
    so.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(so);
    so.x = 40 + 40 + 40 + 40;
    so.y = 480 - 104;
    // タップ
    so.addEventListener(Event.TOUCH_START, function(){
        so.frame = 1;
        var sound = core.assets['sounds/piano1_5so.mp3'].clone();
        sound.play();
        // ぬへ小僧が出てくる
        kozou.tl.clear();    
        kozou.image = core.assets["images/cf307/zyonipyon (1).png"];
        kozou.frame = [0, 0, 1, 1]; 
        kozou.tl.moveBy(0, -60, 12);
        kozou.tl.then(function(){
            kozou.image = core.assets["images/cf307/zyoni.png"];
            kozou.tl.moveTo(40 * 4 + 41 - kozou.width / 2, 240, 12); 
        });
    });
    // タップ終了
    so.addEventListener(Event.TOUCH_END, function(){
        so.frame = 0;
    });

    // ラ 
    var ra = new ExSprite(40, 104);
    ra.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(ra);
    ra.x = 40 + 40 + 40 + 40 + 40;
    ra.y = 480 - 104;
    // タップ
    ra.addEventListener(Event.TOUCH_START, function(){
        ra.frame = 1;
        var sound = core.assets['sounds/piano1_6ra.mp3'].clone();
        sound.play();
        // ももちゃんが出てくる
        momo.tl.clear();    
        momo.image = core.assets["images/cf307/momochanzannen.png"];
        momo.tl.moveBy(0, -45, 12);
        momo.tl.then(function(){
            momo.image = core.assets["images/cf307/momochan.png"];
            momo.tl.moveTo(40 * 5 + 41 - momo.width / 2, 183, 12); 
        });
    });
    // タップ終了
    ra.addEventListener(Event.TOUCH_END, function(){
        ra.frame = 0;
    });

    // シ 
    var si = new ExSprite(40, 104);
    si.image = core.assets["images/cf307/kennbanhidari.png"];
    scene.addChild(si);
    si.x = 40 + 40 + 40 + 40 + 40 + 40;
    si.y = 480 - 104;
    // タップ
    si.addEventListener(Event.TOUCH_START, function(){
        si.frame = 1;
        var sound = core.assets['sounds/piano1_7si.mp3'].clone();
        sound.play();
        // たこちゃんが出てくる
        tako.tl.clear();    
        tako.image = core.assets["images/cf307/takochanugoku.png"];
        tako.tl.moveBy(0, -50, 12);
        tako.frame = [0, 0, 1, 1];
        tako.tl.then(function(){
            tako.frame = [0];
            tako.tl.moveTo(40 * 6 + 41 - tako.width / 2, 330, 12); 
        });
    });
    // タップ終了
    si.addEventListener(Event.TOUCH_END, function(){
        si.frame = 0;
    });

    // ド 
    var do8 = new ExSprite(40, 104);
    do8.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(do8);
    do8.x = 280;
    do8.y = 480 - 104;
    // タップ
    do8.addEventListener(Event.TOUCH_START, function(){
        do8.frame = 1;
        var sound = core.assets['sounds/piano1_8do.mp3'].clone();
        sound.play();
        // 猫が出てくる
        neko.tl.clear();    
        neko.image = core.assets["images/cf307/nekonemuri.png"];
        neko.tl.moveBy(0, -64, 12);
        neko.frame = [0, 0, 1, 1];
        neko.tl.then(function(){
            neko.image = core.assets["images/cf307/nekohako.png"];
            neko.tl.moveTo(320 - 82 + 41 - neko.width / 2, 100, 12); 
        });
    });
    // タップ終了
    do8.addEventListener(Event.TOUCH_END, function(){
        do8.frame = 0;
    });
   
    // 画面がタップされたら
    scene.addEventListener(Event.TOUCH_START, function(){
        background1.tl.clear();
        background2.tl.clear();
        console.log("音符よ動け!!");
        background1.tl.moveBy(0, 480 * 24 / 150, 24);
        background2.tl.moveBy(0, 480 * 24 / 150, 24);
        // 背景スクロール
        if(background2.y >= 480){
            console.log("スクロールして!!");      
            background2.y = background1.y - 480;
        }
        if(background1.y >= 480){
            background1.y = background2.y - 480;
        }
    });

    //==========
    // ここまで
    //==========

}

function getRandom(start, end) {
    return start + Math.floor( Math.random() * (end - start + 1));
}

function titleStart(){// タイトル画面
    var scene = gameManager.createTitleScene();
    core.replaceScene(scene); core.pause();
    scene.on(enchant.Event.TOUCH_START, function(){gameStart();});
}

//==========
// EnchantJS
enchant();
var gameManager;
var core;
var scene;
window.onload = function(){
    gameManager = new common.GameManager();
    core = gameManager.createCore(320, 480);
    core.preload(assets);
    core.onload = function(){titleStart();};
    core.start();
}

🎹ぴあの🎹シンプル(解説)

soundsのところに音があったので、作ってみたものです。

イメージとしては、よくおもちゃコーナーにある、小さな子ども用のおもちゃのピアノです。

工夫したところとしては、鍵盤の絵です。

鍵盤の種類は三種類、

 

 

 

描いてみて、押したときに、左右の枠が少し太くなり、下に長く伸ばすと押した感じに見えることがわかりました。(上図の右側がそれぞれ鍵盤を押したときのframe)

音の長さに合わせて背景の音符が流れるようにして、音が流れている感じを出してみました。

// Main
console.log("Hello EnchantJS!!");

var assets = [
    "images/back_mountain.png",
    "images/kati_land.png",
    "images/kati_tanuki.png",
    "images/title.png",// タイトル
    "sounds/coin.mp3",
    "sounds/jump.mp3",
    "images/cf307/kennbanmigi.png",
    "images/cf307/kennbanhidari.png",
    "sounds/piano1_1do.mp3",
    "images/cf307/kennbannaka.png",
    "sounds/piano1_2re.mp3",
    "images/cf307/backonpu1.png",
    "images/cf307/kennbanhidari.png",
    "sounds/piano1_3mi.mp3",
    "sounds/piano1_4fa.mp3",
    "sounds/piano1_5so.mp3",
    "sounds/piano1_6ra.mp3",
    "sounds/piano1_7si.mp3",
    "sounds/piano1_8do.mp3",
];

function gameStart(){// ゲーム画面
    scene = gameManager.createGameScene();
    core.replaceScene(scene); core.resume();

    //==========
    // ここから
    //==========

    scene.backgroundColor = "#00ffff";
    
    // 背景
    var background1 = new ExSprite(320, 480);
    background1.image = core.assets['images/cf307/backonpu1.png'];
    scene.addChild(background1);
    background1.x = 0;
    background1.y = -480;
    var background2 = new ExSprite(320, 480);
    background2.image = core.assets['images/cf307/backonpu1.png'];
    scene.addChild(background2);
    
    // 
    var kennbanmigi = new ExSprite(40, 104);
    kennbanmigi.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(kennbanmigi);
    kennbanmigi.x = 0;
    kennbanmigi.y = 480 - 104;
    // タップ
    kennbanmigi.addEventListener(Event.TOUCH_START, function(){
        kennbanmigi.frame = 1;
        var sound = core.assets['sounds/piano1_1do.mp3'].clone();
        sound.play();
    });
    // タップ終了
    kennbanmigi.addEventListener(Event.TOUCH_END, function(){
        kennbanmigi.frame = 0;
    });

    // レ 
    var kennbannaka = new ExSprite(40, 104);
    kennbannaka.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(kennbannaka);
    kennbannaka.x = 40;
    kennbannaka.y = 480 - 104;
    // タップ
    kennbannaka.addEventListener(Event.TOUCH_START, function(){
        kennbannaka.frame = 1;
        var sound = core.assets['sounds/piano1_2re.mp3'].clone();
        sound.play();
    });
    // タップ終了
    kennbannaka.addEventListener(Event.TOUCH_END, function(){
        kennbannaka.frame = 0;
    });

    // ミ 
    var kennbanhidari = new ExSprite(40, 104);
    kennbanhidari.image = core.assets["images/cf307/kennbanhidari.png"];
    scene.addChild(kennbanhidari);
    kennbanhidari.x = 40 + 40;
    kennbanhidari.y = 480 - 104;
    // タップ
    kennbanhidari.addEventListener(Event.TOUCH_START, function(){
        kennbanhidari.frame = 1;
        var sound = core.assets['sounds/piano1_3mi.mp3'].clone();
        sound.play();
    });
    // タップ終了
    kennbanhidari.addEventListener(Event.TOUCH_END, function(){
        kennbanhidari.frame = 0;
    });

    // ファ 
    var fa = new ExSprite(40, 104);
    fa.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(fa);
    fa.x = 40 + 40 + 40;
    fa.y = 480 - 104;
    // タップ
    fa.addEventListener(Event.TOUCH_START, function(){
        fa.frame = 1;
        var sound = core.assets['sounds/piano1_4fa.mp3'].clone();
        sound.play();
    });
    // タップ終了
    fa.addEventListener(Event.TOUCH_END, function(){
        fa.frame = 0;
    });

    // ソ 
    var so = new ExSprite(40, 104);
    so.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(so);
    so.x = 40 + 40 + 40 + 40;
    so.y = 480 - 104;
    // タップ
    so.addEventListener(Event.TOUCH_START, function(){
        so.frame = 1;
        var sound = core.assets['sounds/piano1_5so.mp3'].clone();
        sound.play();
    });
    // タップ終了
    so.addEventListener(Event.TOUCH_END, function(){
        so.frame = 0;
    });

    // ラ 
    var ra = new ExSprite(40, 104);
    ra.image = core.assets["images/cf307/kennbannaka.png"];
    scene.addChild(ra);
    ra.x = 40 + 40 + 40 + 40 + 40;
    ra.y = 480 - 104;
    // タップ
    ra.addEventListener(Event.TOUCH_START, function(){
        ra.frame = 1;
        var sound = core.assets['sounds/piano1_6ra.mp3'].clone();
        sound.play();
    });
    // タップ終了
    ra.addEventListener(Event.TOUCH_END, function(){
        ra.frame = 0;
    });

    // シ 
    var si = new ExSprite(40, 104);
    si.image = core.assets["images/cf307/kennbanhidari.png"];
    scene.addChild(si);
    si.x = 40 + 40 + 40 + 40 + 40 + 40;
    si.y = 480 - 104;
    // タップ
    si.addEventListener(Event.TOUCH_START, function(){
        si.frame = 1;
        var sound = core.assets['sounds/piano1_7si.mp3'].clone();
        sound.play();
    });
    // タップ終了
    si.addEventListener(Event.TOUCH_END, function(){
        si.frame = 0;
    });

    // ド 
    var do8 = new ExSprite(40, 104);
    do8.image = core.assets["images/cf307/kennbanmigi.png"];
    scene.addChild(do8);
    do8.x = 280;
    do8.y = 480 - 104;
    // タップ
    do8.addEventListener(Event.TOUCH_START, function(){
        do8.frame = 1;
        var sound = core.assets['sounds/piano1_8do.mp3'].clone();
        sound.play();
    });
    // タップ終了
    do8.addEventListener(Event.TOUCH_END, function(){
        do8.frame = 0;
    });
   
    // 画面がタップされたら
    scene.addEventListener(Event.TOUCH_START, function(){
        background1.tl.clear();
        background2.tl.clear();
        console.log("音符よ動け!!");
        background1.tl.moveBy(0, 480 * 24 / 150, 24);
        background2.tl.moveBy(0, 480 * 24 / 150, 24);
        if(background2.y >= 480){
            console.log("スクロールして!!");      
            background2.y = background1.y - 480;
        }
       if(background1.y >= 480){
            background1.y = background2.y - 480;
        }
    });

    //==========
    // ここまで
    //==========

}

function getRandom(start, end) {
    return start + Math.floor( Math.random() * (end - start + 1));
}

function titleStart(){// タイトル画面
    var scene = gameManager.createTitleScene();
    core.replaceScene(scene); core.pause();
    scene.on(enchant.Event.TOUCH_START, function(){gameStart();});
}

//==========
// EnchantJS
enchant();
var gameManager;
var core;
var scene;
window.onload = function(){
    gameManager = new common.GameManager();
    core = gameManager.createCore(320, 480);
    core.preload(assets);
    core.onload = function(){titleStart();};
    core.start();
}