imagesetの関数の中身を(return外して)game.set=function()の中に持ってくると正常に動作します。
しかし、imageset();が動いてくれなくて、「ゲームスタート!」の画面から進みません。
どうしたら出来るようになりますか?
回答宜しくお願いします。
環境はmacです。
enchant();
var SET_SIZE = 20;//20✖️20のパネルセット
var COLOR_NUM = 6;//色の数
window.onload = function() {
var game = new Game();
game.fps = 30;
game.preload('white.png','blue.png','red.png',
'green.png','orange.png','yellow.png','区切り線.png'); // ゲーム開始時にロードする画像ファイルを指定する
game.onload = function() {
game.rootScene.addChild(makeMessage("ゲームスタート!"));
// 画面をクリック(タッチ)した時の処理
game.rootScene.addEventListener('touchstart', function() {
game.pushScene(game.set());
});
};
game.set = function() {
var scene = new Scene();
for(var i=1;i<=3;i++){
for(var j=1;j<=3;j++){
var color = new Sprite(SET_SIZE,SET_SIZE); // 画像のサイズ指定
var randset = rand(0,COLOR_NUM - 1);//画像をランダムで決める(色指定:0から5)
imageset();//※この関数が動いてくれない
color.x = SET_SIZE*i; //x座標を指定
color.y = SET_SIZE*j; //y座標を指定
game.rootScene.addChild(color); //画面に画像を表示する
}
}
};
game.start();
};
//メッセージを生成
function makeMessage(text) {
var label = new Label(text);
label.font = "15px monospace";//フォント
label.color = "rgb(255,255,0)";//文字の色
label.backgroundColor = "rgba(0,0,1,1.6)";//スタート時の黒の背景(メニュー)
label.y = 250;//メニュー画面の位置
label.width = 320;//メニュー画面の幅
label.height = 320;//メニュー画面の高さ
return label;
}
// ランダム関数
function rand(min,max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function imageset(){
if(randset == 0)
return color.image = game.assets['white.png'];
if(randset == 1)
return color.image = game.assets['blue.png'];
if(randset == 2)
return color.image = game.assets['red.png'];
if(randset == 3)
return color.image = game.assets['green.png'];
if(randset == 4)
return color.image = game.assets['orange.png'];
if(randset == 5)
return color.image = game.assets['yellow.png'];
}