4789


tmlib.jsのバージョン0.3にて画像や音をロードする際に、`tm.scene.LoadingScene`を利用していますが`tm.scene.LoadingScene`を使わず動的にアセットを読み込む方法を教えてください。よろしくお願いします。


CC BY-SA 3.0
2015-01-17T15:31:07.747
4754
2015-01-18T14:03:24.880
2015-01-17T16:42:09.480
5413
5413
question
tmlib.js
tmlib.jsでLoadingSceneを使わずにアセットを読み込む方法は？


[`tm.asset.Loader#load()`](http://phi-
jp.github.io/tmlib.js/docs/index.html#!/api/tm.asset.Loader)にて動的に読み込むことができます。

`tm.scene.LoadingScene`の実装も`tm.asset.Loader`でリソースを読み込ませている間に、ヒヨコを回転させているだけだったりします。

以下、あまり実用的ではないですがコード例です。

[code]

    tm.define("HogeScene", {
      superClass : "tm.app.Scene",
    
        init : function() {
        this.superInit();
        // LoadingSceneで読み込んだ画像を表示
        this.sprite = tm.display.Sprite("initial",200,200);
        this.sprite.setPosition(100, 100);
        this.addChild(this.sprite);
    
        var self = this;
        this.addEventListener("pointingend", function(e) {
            // タッチイベント時にtm.asset.Loader()で読み込み
            var loader = tm.asset.Loader();
            loader.onload = function() {                
                self.sprite2 = tm.display.Sprite("dynamic",200,200);
                self.sprite2.setPosition(300, 100);
                self.addChild(self.sprite2);
            };
            loader.load({
                "dynamic":"dynamic.png",
            });
        });
    },
    
[/code]

アセットとして利用可能になるのは`onload`の後になります。非同期処理によってコードの見通しが悪くなる可能性がありますのでご注意下さい。


CC BY-SA 3.0
2015-01-18T14:03:24.880
4789
2015-01-18T14:03:24.880
5337
4754
answer