###現状
現在、ゲームを自作しようとしているのですが、入力処理で困ってしまいました。
ネットで調べたところ、キャラクターにタッチして入力する方法は理解したのですが、
自分が作成しているのは、早押しゲームですので表示された画面ならどこをタッチしても反応するような入力処理をしたいのです。
###コード
作成途中のコードの為(自分が初心者の為)、無駄に長く読みにくいコードですが、よろしくお願いします。
lang
1enchant(); 2 3var start; //スタートシーン 4var STFunc; 5 6var Pscene; //待期シーン 7var PFunc; 8 9 10//ゲームの状態 11var START = 0; 12var PLAY = 1; 13 14var gameState = 0; 15 16var time = 0; //全体の時間 17 18//タッチ用変数 19var touchFlag = false; 20 21window.onload = function(){ 22 23 24 var game = new Core(320, 320); 25 game.preload('img/chara1.png','img/sirokuma.png','img/start.png'); 26 game.fps = 15; 27 28 game.onload = function(){ 29 30 //startシーンの作成 31 start = new Scene(); 32 var startflag = new Sprite(236, 48); 33 startflag.image = game.assets['img/start.png']; 34 startflag.x = 10; 35 startflag.y = 20; 36 startflag.frame = 0; 37 start.addChild(startflag); 38 39 STFunc = function(){ 40 game.pushScene(start); 41 } 42 43 //Psceneの作成 44 Pscene = new Scene(); 45 46 var bear = new Sprite(32, 32); 47 bear.image = game.assets['img/chara1.png']; 48 bear.x = 30; 49 bear.y = 80; 50 bear.frame = 0; 51 Pscene.addChild(bear); 52 53 var enemy = new Sprite(32, 32); 54 enemy.image = game.assets['img/sirokuma.png']; 55 enemy.x = 200; 56 enemy.y = 80; 57 enemy.scaleX = -1; 58 enemy.frame = 2; 59 Pscene.addChild(enemy); 60 61 PFunc = function(){ 62 game.pushScene(Pscene); 63 } 64 65 66 67 //タッチイベントの追加! 68 document.addEventListener(Event.TOUCH_START, clickfunc); 69 70 71 //メインループの開始 72 73 74 switch (gameState){ 75 76 case START: 77 startFunc(); 78 break; 79 80 case PLAY: 81 playFunc(); 82 break; 83 84 default: 85 break; 86 87 } 88 89 90 91 function startFunc(){ 92 STFunc(); 93 94 if (touchFlag == true) { 95 gameState = PLAY; 96 touchFlag = false; 97 time = 0; 98 game.popScene(start); 99 } 100 } 101 102 function playFunc(){ 103 PFunc(); 104 } 105 106 107 function clickfunc(){ 108 touchFlag = true; 109 } 110 111 } 112 game.debug(); 113}; 114
###疑問点
現在のコードで実行すると、START画面が表示されたままで画面をクリックしても全く変わりません、エラーを見てみても何も表示されていません。
そのため、
・現在の入力処理であるgame.rootScene.addEventListener()が正しく使用できているか
・画面全体のタッチを認識する入力処理の方法
・その他文法的に間違えているところ
を、ご指摘いただきたいです。
#追記
現在、学生の身ですので、返信に時間がかかることがあります。
現在の環境
下のHTMLファイルをGoogle Chromeで開いています。
lang
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="x-ua-compatible" content="IE=Edge"> 6 <meta name="viewport" content="width=device-width, user-scalable=no"> 7 <meta name="apple-mobile-web-app-capable" content="yes"> 8 <script type="text/javascript" src="js/lib/enchant.js"></script> 9 <script type="text/javascript" src="js/main.js"></script> 10 <style type="text/css"> 11 body { 12 margin: 0; 13 padding: 0; 14 background-color: #ffffff; 15 } 16 </style> 17</head> 18<body> 19</body> 20</html> 21
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/12 14:06
2017/07/12 16:41
2017/07/16 11:58