私は現在JavaScriptゲームを構築しており、ゲームの特定の部分を別々のファイルにコーディングしています。
ゲーム ファイル (レベル、プレーヤー、衝突) は次のように設定されます。
function Level(){
this.draw_level = function(){
}
}
そして、次のようにメインファイルから呼び出されます:
var level = new Level();
level.draw_level();
私が抱えている問題は、ネストされた関数から情報を返すことです。これが私が参照しているコードです:
function Level (){
//other functions
this.collisionLayer = function(layer){
if(!layer.properties && !layer.properties.collision){return;}
var t = this,
row = [];
t.solids = [];
layer.data.forEach(function(idx, i) {
if (i % layer.width === 0 && i) {
t.solids.push(row);
row = [];
}
row.push(idx);
});
t.solids.push(row);
}
}
そして、次のように私のメインファイルから呼び出されます:
var collisions = level.collisionLayer(layers)
私がしたいのは、t.solids 配列を返すことです。これにより、メインの JS ファイルに格納されている情報を利用できます。
私が試してみました
return t;
しかし、私はエラーで強調表示された関数を取得します:
function has inconsistent return points
私の質問は次のとおりです。
私のような状況で情報を返すより良い方法は何ですか? グローバル変数に保存しますか? または他の方法ですか?
そして、上記のエラーはどういう意味ですか? 今後の参考になれば幸いです。
ありがとう