#課題
現在enchant.jsを使用して、早押しゲームを作成しているのですが、
スプライトがタッチされた時の、経過時間を取得する方法が分かりません、
また、現在のコードでは、判定のスプライトが表示されません。
様々な方法を調べたつもりですが、それでも分かりませんでした。
#現在のコード
lang
1enchant(); 2 3window.onload = function(){ 4 var game = new Core(320, 320); 5 game.preload('img/chara1.png', 'img/enchant.png', 'img/sirokuma.png'); 6 game.fps = 15; 7 game.onload = function(){ 8 //待期中のシーン 9 var wait = new Scene(); 10 //自機の作成 11 var bear = new Sprite(32, 32); 12 bear.image = game.assets['img/chara1.png']; 13 bear.x = 30; 14 bear.y = 80; 15 bear.frame = 0; 16 bear.on('touchstart', function(){ 17 game.popScene(wait); //判定の合否の仕方が分からない... 18 game.pushScene(win); 19 }); 20 wait.addChild(bear); 21 //敵の作成 22 var enemy = new Sprite(32, 32); 23 enemy.image = game.assets['img/sirokuma.png']; 24 enemy.x = 200; 25 enemy.y = 80; 26 enemy.scaleX = -1; 27 enemy.frame = 2; 28 wait.addChild(enemy); 29 30 game.pushScene(wait); 31 32 //反応基準?のシーン作成 33 var second = new Scene(); 34 var judge = new Sprite(64, 64); 35 judge.image = game.assets['img/enchant.png']; 36 judge.x = 100; 37 judge.y = 10; 38 second.addChild(judge); 39 //タイミング 40 var limit = 3 + rand(3); 41 42 second.on('enterframe', function(){ 43 var progress = game.frame / game.fps; 44 var timelimit = limit - progress + ""; 45 if (timelimit <= 0) { 46 game.pushScene(second); 47 } 48 }); 49 50 var label = new Label(); 51 label.x = 250; 52 label.y = 5; 53 label.text = 0; 54 label.font = '14px "Arial"'; 55 label.on('enterframe', function(){ 56 label.text = game.frame; 57 }); 58 game.rootScene.addChild(label); 59 60 //勝利した時のシーン 61 var win = new Scene(); 62 63 var bear1 = new Sprite(32, 32); 64 bear1.image = game.assets['img/chara1.png']; 65 bear1.x = 160; 66 bear1.y = 80; 67 bear1.frame = 1; 68 win.addChild(bear1); 69 70 var enemy1 = new Sprite(32, 32); 71 enemy1.image = game.assets['img/chara1.png']; 72 enemy1.x = 180; 73 enemy1.y = 70; 74 enemy1.scaleX = -1; 75 enemy1.frame = 8; 76 win.addChild(enemy1); 77 78 //敗北シーン 79 var lose = new Scene(); 80 81 var bear2 = new Sprite(32, 32); 82 bear1.image = game.assets['img/chara1.png']; 83 bear1.x = 120; 84 bear1.y = 70; 85 bear1.frame = 3; 86 lose.addChild(bear2); 87 88 var enemy2 = new Sprite(32, 32); 89 enemy1.image = game.assets['img/sirokuma.png']; 90 enemy1.x = 140; 91 enemy1.y = 80; 92 enemy1.scaleX = -1; 93 enemy1.frame = 3; 94 lose.addChild(enemy2); 95 96 } 97 game.debug(); 98}; 99 100function rand(n){ 101 return Math.floor(Math.random() * (n + 1)); 102} 103
#解決したいこと
現在のままでは、完成の見通しがつきません。
そのため、
- スプライトの経過時間の取得
- 判定を行うための、アイデア
- 現在のコードの様々な問題点
等を出来れば教えていただきたいです。
追記*******
ほとんど初心者のコードなので、普通の人が見るとおかしなコードである可能性大です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/01 13:20
2017/05/01 13:39
2017/05/01 15:01
2017/05/01 15:02
2017/05/01 15:49
2017/05/04 03:59