tmlibの練習ブログ

自分流にtmlibを触っていきます。分かったことを解説。入門用になれば…?

main.jsを外部ファイルに切り分ける

main.jsに書いたコードが長くなり、行数が増えると今いじりたい箇所も探しづらくなる。
色々なアプローチはあるだろうけど、ここでは"外部ファイル"にしてみようと思う。


例えば、設定ファイルが書かれた部分…
前回のコードだと、
/*
* constant
*/
と書かれた、ASSETSが置いてあるような所は、他と明らかに役割が違う。


他の tm.main(function() { … }とやらは一つの処理の流れだけど、
ここに置いてあるのは、後々読み込まれるデータ。
特に、画面の大きさである SCREEN_WIDTH や SCREEN_HEIGHT の値を、そう頻繁に変えるとは思えない。


ここら辺りを、main.jsとは別のファイル…"setting.js"という名前にでもして、そちらに移してしまおう。


といってもやり方は簡単で、普通にテキストファイルを作る要領で作り、名前を"setting.js"にするだけ。
(windowsの設定で拡張子の見えるようにしてあると、やりやすい)


そして移したい部分を切り取って、そちらに貼り付ける。
今回は

/*
 * constant
 */
var SCREEN_WIDTH    = 640;
var SCREEN_HEIGHT   = 480;
var SCREEN_CENTER_X = SCREEN_WIDTH/2;
var SCREEN_CENTER_Y = SCREEN_HEIGHT/2;




// アセット 
var ASSETS = {
    "CAR": "car.png",
};
//画像読み込み
tm.asset.AssetManager.load("TitleImage" , "title.png");


/**
 * リソースの読み込み
 */
tm.preload(function() {
    // 音
    tm.sound.SoundManager.add("hit_se", "hit_se.wav");
});


// ユーザーのデータの定義
tm.util.DataManager.set("userData", {
    score: 10,
	goal: 400 ,
	speed: 1
});

といった部分だ。


setting.jsは画像や効果音と同じく、同フォルダに置く。
そして読み込む。
方法は幾つかあるみたいだけど、今回は一番簡単だろうindex.htmlに書く方法でやってみる。


index.htmlをテキストエディタで開き、

<script src="main.js"></script>

という部分を見つける。
つまりここがmain.jsを読み込んでる部分なのだ。


同じように、main.jsの読み込みの前に

<script src="setting.js"></script>

と書く。
(main.jsの中でSCREEN_WIDTHが使われてるから、それを作るsetting.jsを先に読み込ませないとだめ)


要はindex.htmlを中心として、.jsを複数読み込めると。
グローバル変数なら、違うファイルだろうと同じように使える。


こうした設定部分だけでなく、シーンごとに切り分けるとかも出来るだろう。
分かりやすいように切り分けていくのも手だ。