0

だから私はかなり複雑な構造を持っています。コードのアイデアを得るのに十分なだけ、簡単に説明しようと思います...

私はいくつかのステップを含むアプリケーションを持っています:

preload startscreen build/show startscreen press start かなり巨大なアプリをロードする アプリをビルドする

アプリのビルドには最大 2 秒かかる場合があるため、最後の部分が私の懸念の原因です。

では、その部分を拡大してみましょう...

建物の部分が行うことは、さまざまな種類のビューを作成することです。脚、頭、手、および全体像のクローズアップがあります。各ビューには異なるレイヤーがあります。背景、前景、人物、アイテムなど

したがって、アプリにはさまざまなビューが含まれており、各ビューには独自のレイヤー セットがあります。

各レイヤーには、一連の画像とヒットスポットがあります。すべての画像とヒットスポットがレイヤーに追加され、イベントがヒットスポットにバインドされます。

ビューの作成は次のようになります。

    function CreateTopFullTotalView() {
    //layers
    topfullTotalBackground = new SimulationDisplays.Background(_self, View.TopFullTotal);
    topfullTotalBystanders = new SimulationDisplays.Bystanders(_self, View.TopFullTotal);
    topfullTotalPatient = new SimulationDisplays.Patient(_self, View.TopFullTotal, _self.GetPatient('patient'));
    topfullTotalResponder1 = new SimulationDisplays.Responder(_self, View.TopFullTotal, _self.GetResponder('responder1'));
    topfullTotalResponder2 = new SimulationDisplays.Responder(_self, View.TopFullTotal, _self.GetResponder('responder2'));

    //add layers to view
    topFullTotalView = new Simulation.View(View.TopFullTotal, [topfullTotalBackground, topfullTotalBystanders, topfullTotalPatient, topfullTotalResponder1, topfullTotalResponder2]);

    //add view to controller
    _self.ViewController.AddView(topFullTotalView);

    var endTime = new Date().getTime();

}

各ビュー インスタンスが作成されると、レイヤーが作成され、コンストラクターで画像が作成されます。

    _self.AddImage("Start", new Kinetic.Image(simulation.GetImage("topfullTotal", "patient_start_clothing")));
_self.AddImage("StartNoClothes", new Kinetic.Image(simulation.GetImage("topfullTotal", "patient_start_noClothing")));

_self.AddImage("RecoveryPosition", new Kinetic.Image(simulation.GetImage("topfullTotal", "patient_recoveryPosition")));

// Hitspot Head
_self.AddHitspot("Head", new Kinetic.Image(simulation.GetImage("topfullTotal", "victim_head")));
_self.GetHitspot("Head").on("click", function () {
    simulation.ShowContentMenu("victim_head", _view, _self.GetHitspot("Head"));
    Mouse("default");
});
_self.GetHitspot("Head").on("mouseover", function () {
    Mouse("pointer");
});
_self.GetHitspot("Head").on("mouseout", function () {
    Mouse("default");
});
etc...

今、私は構築時間に関するいくつかの情報を追跡しました:

トレース: CreateTopFullTotalView 1018ms トレース: CreateBreathingView 273ms トレース: CreateThoraxView 197ms トレース: CreateNeckLeft 61ms トレース: CreateNeckRight 46ms トレース: CreateWristLeft 49ms トレース: CreateWristRight 50ms トレース: すべてのビューを作成 1697ms

Chrome の開発者ツールからの私のプロファイル情報によると、Kinetic.Shape.drawImage には何かの約 60% が含まれていることがわかります... (何かの前身と考えてください)?

また、画像をスプライトとして読み込もうとしましたが、違いはありません。

私はプロジェクトの半分しか進んでいません。そのため、多くの画像が時間内に追加されます。これほどの待ち時間はありません..

半額はかなり高く評価されます!

前もって感謝します

4

0 に答える 0