CocosCreatorでJSZip圧縮を使用する方法

CocosCreatorでJSZip圧縮を使用する方法

CocosCreator バージョン: 2.4.2

jszipの実践的なプロジェクトアプリケーション

ゲーム内に多くの設定がある場合、ファイルは非常に大きくなるため、一部のゲームではzipパッケージの圧縮と解凍を使用します。

例えば、次のゲームでは、ゲーム設定config.jsonをzipパッケージに圧縮し、ロード後に解凍して使用します。

設定の圧縮パッケージを取得する

.binを.zipに変更し、解凍して、ゲームのすべてのjson設定ファイルを取得します。

圧縮前6M以上

圧縮されたファイルは 500KB 以上で、約 10 分の 1 の大きさになります。

Cocos で jszip を使用する

まず、githubからjszipライブラリをダウンロードします

https://github.com/Stuk/jszip

ダウンロードした jszip.min.js をプロジェクトのアセット/ライブラリに配置し、jszip.d.ts をプロジェクトのルート ディレクトリの libs に配置します。 (jszip.d.ts はデモ版です)

ゲームの設定ファイル、複数のjsonファイルをzipパッケージに圧縮し、サフィックスのzipをbinに変更して、resources/configの下に置きます。

コード内のbinファイルを読み込み、解析してゲームアイテム構成GameItem.jsonを取得します。

const {ccclass、プロパティ} = cc._decorator;
 
@ccクラス
デフォルトクラスHelloworldをエクスポートし、cc.Componentを拡張します。
 
    オンロード(){
        //config.bin をロード
        cc.resources.load("config/config", (err, アセット:any)=>{
            // JSZip.loadAsync(assets._buffer).then((zip)=>{ を解析します
                //GameItem.json 構成を取得します zip.file("GameItem.json").async("text").then((data)=>{
                    コンソールにログ出力します。
                    // 文字列を JSON 形式に変換します。let json = JSON.parse(data);
                    コンソールにログ出力します。
                })
            });
       })
    }
}

読み込みと解析に成功しました。出力

上記は、CocosCreator で JSZip 圧縮を使用する方法の詳細です。CocosCreator JSZip 圧縮の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Unity3Dはカメラレンズの動きを実現し、角度を制限する
  • CocosCreatorで複数のタイマーを使用する方法の詳細な説明
  • CocosCreator 学習モジュールスクリプト
  • CocosCreator で物理エンジン ジョイントを使用する方法
  • CocosCreator 入門チュートリアル: TS で初めてのゲームを作る
  • CocosCreator ソースコードの解釈: エンジンの起動とメインループ
  • CocosCreator 一般的なフレームワーク設計リソース管理
  • CocosCreatorでリストを作成する方法
  • CocosCreator で http と WebSocket を使用する方法
  • CocosCreator の新しいリソース管理システムの分析
  • CocosCreator でカメラトラッキングに cc.follow を使用する方法

<<:  Docker での環境変数の使用とよくある問題の解決策

>>:  MySQL、Oracle、SQL Server のページングクエリ例の分析

推薦する

順序再構築に関する簡単な説明: MySQL シャーディング

目次1. 目的2. 環境整備1. 基本情報2. データベース環境の準備3. データベースを構築し、サ...

画像の色を変更するための純粋なCSS

画像の色を変更するための CSS テクニックは非常にシンプルです。具体的なコードは次のとおりです。ヒ...

MySQLインデックスが失敗するいくつかの状況の分析

1. 最左プレフィックス原則 - 複数の列にインデックスが付けられている場合は、最左プレフィックス原...

CSS の :focus-within の楽しさについて簡単に説明します

Bステーションでパスワードを入力するときに目を覆っているこの画像を見たことがある人もいると思いますこ...

メタ宣言注釈の手順

メタ宣言注釈の手順: 1. モバイル ページと 1 対 1 で対応するすべての PC ページを分類し...

例を通してMySQLの更新がテーブルをロックするかどうかを判定する

2つのケース: 1. 索引あり 2. 索引なし前提条件:方法: コマンドラインを使用してシミュレート...

MySQL シリーズ 9 MySQL クエリ キャッシュとインデックス

目次チュートリアルシリーズ1. MySQL アーキテクチャクエリキャッシュキャッシュされないクエリ:...

Nginx+tomcat ロードバランシングクラスタの実装方法

実験環境は以下のとおりですここでは、4 台のサーバー (1 台の nginx、負荷用の 2 台の t...

MySQL 学習のまとめ: InnoDB ストレージ エンジンのアーキテクチャ設計の予備的な理解

1. ストレージエンジン前のセクションでは、SQL 実行プランは、エグゼキュータ コンポーネントがス...

上部の固定ナビゲーションバーによって CSS アンカーの配置がブロックされる問題の解決方法

多くのウェブサイトでは、ユーザーが簡単に検索したり他のページに移動したりできるように、上部にナビゲー...

UbuntuにMySQLデータベースをインストールする方法

Ubuntu は、Linux をベースにした無料のオープンソース デスクトップ PC オペレーティン...

Centos7のFirewalldファイアウォールの基本コマンドの詳細な説明

1. Linuxファイアウォールの基礎Linux ファイアウォール システムは主にネットワーク層で動...

モバイルアダプティブスタイルで@mediaを使用する方法

一般的な携帯電話のスタイル: @media all および (orientation : 縦向き) ...

MySQL 制約の超詳細な説明

目次MySQL 制約操作1. 非ヌル制約2. ユニーク制約3. 主キー制約4. 外部キー制約5. カ...

Vue テンプレートのコンパイルの詳細

目次1. 解析する1.1 傍受のルール1.2 傍受プロセス部分1.3 パーサーの概要2. 最適化する...