/* * おまじない */ enchant(); window.focus(); var _DIR_ = SwitchApps.scriptDir(); /* * 定数 */ // パラメータ var SCREEN_W = 800; //スクリーンの幅 var SCREEN_H = 700; //スクリーンの高さ // 画像 var TITLE_IMAGE = _DIR_ + "/images/title.png"; var SEL1_IMAGE = _DIR_ + "/images/mirai.png"; var SEL2_IMAGE = _DIR_ + "/images/doubutu.png"; var SEL3_IMAGE = _DIR_ + "/images/hora.png"; var SEL4_IMAGE = _DIR_ + "/images/sf.png"; var BACK_IMAGE = _DIR_ + "/images/return.gif"; var SOUNDBOX_IMAGE = _DIR_ + "/images/soundBox.png"; // SE、BGM var MIRAI1_SE = _DIR_ + "/sounds/mirai1.mp3"; var MIRAI2_SE = _DIR_ + "/sounds/mirai2.mp3"; var MIRAI3_SE = _DIR_ + "/sounds/mirai3.mp3"; var DOUBUTU1_SE = _DIR_ + "/sounds/doubutu1.mp3"; var DOUBUTU2_SE = _DIR_ + "/sounds/doubutu2.mp3"; var DOUBUTU3_SE = _DIR_ + "/sounds/doubutu3.mp3"; var HORA1_SE = _DIR_ + "/sounds/hora1.mp3"; var HORA2_SE = _DIR_ + "/sounds/hora2.mp3"; var HORA3_SE = _DIR_ + "/sounds/hora3.mp3"; var SF1_SE = _DIR_ + "/sounds/sf1.mp3"; var SF2_SE = _DIR_ + "/sounds/sf2.mp3"; var SF3_SE = _DIR_ + "/sounds/sf3.mp3"; // アセットリスト var ASSETS = [ TITLE_IMAGE,SEL1_IMAGE,SEL2_IMAGE,SEL3_IMAGE,SEL4_IMAGE,BACK_IMAGE,SOUNDBOX_IMAGE, MIRAI1_SE,MIRAI2_SE,MIRAI3_SE,DOUBUTU1_SE,DOUBUTU2_SE,DOUBUTU3_SE, HORA1_SE,HORA2_SE,HORA3_SE,SF1_SE,SF2_SE,SF3_SE ]; /* * グローバル変数 */ var game = null; var logger = null; var box_fg = 1; //現在どのボックスにフォーカスが当たっているか 1:みらい,2:どうぶつ,3:ホラー,4:スペース var sound_flg = 0; //0:みらいのおと 1:どうぶつのこえ 2:ホラー 3:SF var cnt = 0; //(cnt%3) = 0:sound1,1:sound2,2:sound3, var sound; var sb_fg = 0; //サウンドボックスが現れている状態かどうか 0:選択画面 1:サウンドボックス画面 $(document).ready(function(){ //$('#setting-button').remove(); logger = new SwitchApps.Logger(SwitchApps.app.id, null); /*ログの設定*/ LOG_switch = logger.addHeader('スイッチ入力'); LOG_select = logger.addHeader('選ぶ'); LOG_play = logger.addHeader('再生'); LOG_back = logger.addHeader('戻る'); /*AIUEO = {set:2}, createSettingBox("a","a",AIUEO,40,"a","s","d");*/ }); /* * 汎用処理 */ //ランダム値生成 var randfloat = function(min, max) { return Math.random()*(max-min)+min; }; //キーバインド設定 var keyset = function(key){ game.keybind(key, 'a'); //aボタン(「z」キー)を押した時のイベント処理 game.currentScene.onabuttondown = function() { var ev = new Event('touchstart'); // 発火! game.currentScene.dispatchEvent(ev); }; }; /* * メイン処理 */ window.onload = function() { //ゲームオブジェクトの生成 game = new Game(SCREEN_W, SCREEN_H); // SE、画像の読み込み game.preload(ASSETS); //ゲーム開始時の処理 game.onload = function() { var scene_root = game.rootScene; scene_root.backgroundColor = "black"; //キーバインドの設定 keyset(49); //1キー keyset(51); //3キー keyset(32); //spaceキー keyset(10); //Enter1 keyset(13); //Enter windows keyset(123); //F12キー /******************画像の生成と表示*************************/ //サウンドポンプタイトル title = new Sprite(1212,136); title.image = game.assets[TITLE_IMAGE]; title.scale(0.6, 0.6); title.moveBy(-200, 0); //みらいのおと var mirai = new Sprite(334,137); mirai.image = game.assets[SEL1_IMAGE]; mirai.scale(0.7, 0.7); mirai.moveBy(50, 200); //どうぶつのこえ var doubutu = new Sprite(428,137); doubutu.image = game.assets[SEL2_IMAGE]; doubutu.scale(0.7, 0.7); doubutu.moveBy(350, 200); //ホラー var hora = new Sprite(200,137); hora.image = game.assets[SEL3_IMAGE]; hora.scale(0.7, 0.7); hora.moveBy(71, 400); //スペースファンタジー var sf = new Sprite(522,137); sf.image = game.assets[SEL4_IMAGE]; sf.scale(0.7, 0.7); sf.moveBy(270, 400); // タイトルグループ var group_title = new Group(); group_title.addChild(title); group_title.addChild(mirai); group_title.addChild(doubutu); group_title.addChild(hora); group_title.addChild(sf); scene_root.addChild(group_title); //もどるボタン var back = new Sprite(189,189); back.image = game.assets[BACK_IMAGE]; back.moveBy(0,SCREEN_H-189); //サウンドボックス var box = new Sprite(408,403); box.image = game.assets[SOUNDBOX_IMAGE]; box.scale(0.6,0.6); box.moveTo(185,150); box.flg = 0; box.sound = null; sound = new Array(4); for(i=0; i < 4; i++){ sound[i] = new Array(3); } sound[0][0] = game.assets[MIRAI1_SE]; sound[0][1] = game.assets[MIRAI2_SE]; sound[0][2] = game.assets[MIRAI3_SE]; sound[1][0] = game.assets[DOUBUTU1_SE]; sound[1][1] = game.assets[DOUBUTU2_SE]; sound[1][2] = game.assets[DOUBUTU3_SE]; sound[2][0] = game.assets[HORA1_SE]; sound[2][1] = game.assets[HORA2_SE]; sound[2][2] = game.assets[HORA3_SE]; sound[3][0] = game.assets[SF1_SE]; sound[3][1] = game.assets[SF2_SE]; sound[3][2] = game.assets[SF3_SE]; // 音グループ var group_se = new Group(); group_se.addChild(back); group_se.addChild(box); //透明画像 var mask = new Sprite(game.width, game.height); var surface = new Surface(game.width, game.height); mask.image = surface; context = surface.context; context.fillStyle = "rgba(0, 0, 0, 0)"; context.fillRect(0, 0, game.width, game.height); /*************************************************************/ /**************オートスキャンのスタート********************************/ function startauto(){ autoscan = setInterval(function(){ if(box_fg == 1){ /*フォーカスがかかるボタンを少し大きくする mirai.scale(1.5,1.5); hora.scale(1.0,1.0); sf.scale(1.0,1.0); doubutu.scale(1.0,1.0);*/ //みらい以外のボタンをうすくする sound_flg =0; mirai.opacity = 1.0; hora.opacity = 0.5; sf.opacity = 0.5; doubutu.opacity = 0.5; scene_root.addEventListener('touchstart',onTouch1); box_fg = 2; } else if(box_fg == 2){ sound_flg = 1; /*フォーカスがかかるボタンを少し大きくする mirai.scale(1.0,1.0); hora.scale(1.0,1.0); sf.scale(1.0,1.0); doubutu.scale(1.5,1.5);*/ //どうぶつ以外のボタンを薄くする //console.log("通過"); doubutu.opacity = 1.0; mirai.opacity = 0.5; sf.opacity = 0.5; hora.opacity = 0.5; scene_root.addEventListener('touchstart',onTouch2); box_fg = 3; } else if(box_fg == 3){ sound_flg = 2; /*フォーカスがかかるボタンを少し大きくする mirai.scale(1.0,1.0); hora.scale(1.5,1.5); sf.scale(1.0,1.0); doubutu.scale(1.0,1.0);*/ hora.opacity = 1.0; mirai.opacity = 0.5; doubutu.opacity = 0.5; sf.opacity = 0.5; scene_root.addEventListener('touchstart',onTouch3); box_fg = 4; } else if(box_fg == 4){ sound_flg = 3; /*フォーカスがかかるボタンを少し大きくする mirai.scale(1.0,1.0); hora.scale(1.0,1.0); sf.scale(1.5,1.5); doubutu.scale(1.0,1.0);*/ sf.opacity = 1.0; mirai.opacity = 0.5; doubutu.opacity = 0.5; hora.opacity = 0.5; scene_root.addEventListener('touchstart',onTouch4); box_fg = 1; } },1500); } function stopauto(){ clearInterval(autoscan); } startauto(); /*************************************************************/ /**************画像クリック時の動作(シーン遷移)***************/ // mirai.addEventListener('touchstart',onTouch1); function onTouch1(){ stopauto(); if(sb_fg==0){ LOG_switch(); LOG_select(); } // sound_flg = 0; //cnt = 0; scene_root.removeChild(group_title); scene_root.addChild(group_se); scene_root.addEventListener('touchstart',onTouch6); sb_fg = 1; } //doubutu.addEventListener('touchstart',onTouch2); function onTouch2(){ stopauto(); if(sb_fg==0){ LOG_switch(); LOG_select(); } // sound_flg = 1; //cnt = 0; scene_root.removeChild(group_title); scene_root.addChild(group_se); scene_root.addEventListener('touchstart',onTouch6); sb_fg = 1; } // hora.addEventListener('touchstart',onTouch3); function onTouch3(){ stopauto(); if(sb_fg==0){ LOG_switch(); LOG_select(); } //sound_flg = 2; // cnt = 0; scene_root.removeChild(group_title); scene_root.addChild(group_se); scene_root.addEventListener('touchstart',onTouch6); sb_fg = 1; } // sf.addEventListener('touchstart',onTouch4); function onTouch4(){ stopauto(); if(sb_fg==0){ LOG_switch(); LOG_select(); } // sound_flg = 3; //cnt = 0; scene_root.removeChild(group_title); scene_root.addChild(group_se); scene_root.addEventListener('touchstart',onTouch6); sb_fg = 1; } back.addEventListener('touchstart',onTouch5); function onTouch5(){ LOG_switch(); sb_fg = 0; cnt = 0; //box.sound.stop(); startauto(); LOG_back(); scene_root.removeChild(group_se); scene_root.addChild(group_title); } function onTouch6(){ box.sound = sound[sound_flg][cnt%3]; box.sound.play(true); if(sb_fg==1){ LOG_switch(); LOG_play(); } cnt++; box.flg = 1; scene_root.addChild(mask); } box.tl.waitUntil(function(){ return sound.flg == 1; }) .tween({ x: 195, rotation: 5, time: 1 }) .tween({ x: 185, rotation: 0, time: 1 }) .then(function() { if(box.sound.currentTime >= box.sound.duration) { box.flg = 0; scene_root.removeChild(mask); } }) .loop(); }; game.start(); };