だから私はかなり複雑な構造を持っています。コードのアイデアを得るのに十分なだけ、簡単に説明しようと思います...
私はいくつかのステップを含むアプリケーションを持っています:
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% が含まれていることがわかります... (何かの前身と考えてください)?
また、画像をスプライトとして読み込もうとしましたが、違いはありません。
私はプロジェクトの半分しか進んでいません。そのため、多くの画像が時間内に追加されます。これほどの待ち時間はありません..
半額はかなり高く評価されます!
前もって感謝します