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 のページングクエリ例の分析

推薦する

Ubuntu の Python で C/C++ メソッドを呼び出すダイナミック リンク ライブラリの詳細な説明

ブーストをインストールPython から C/C++ を呼び出す方法はたくさんあります。この記事では...

MySQL で重複時間を削除して時間差を計算する実装

目次必要:ドライブ:アイデア:成し遂げる:個人的には、実際の開発ではストアド プロシージャの使用はお...

CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します

1. CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します1. 一般的なスタ...

Linux での NTP サーバー設定の詳細な手順

目次1. 環境設定1.NTPサーバー2. ビジネスサーバー2. NTPサーバーの設定1. chron...

nginx でクロスドメイン障害修復を構成する方法の例

Nginxのクロスドメイン設定は次のようには機能しません サーバー{ 聞く 80; server_n...

MySQLチュートリアルではストアドプロシージャを徹底的に理解します

目次1. ストアドプロシージャに関連する概念2. ストアドプロシージャの使用1) ストアドプロシージ...

MySQL ステートメントを使用した簡単な追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL ステートメントを使用して、単純な追加、削除、変更、およびクエ...

CSS を使用して親コンテナ div を img 画像で埋め、コンテナのサイズを調整する方法

ページに複数の画像を導入すると、画像のサイズがばらつくことがあります。しかし、それらを一貫したサイズ...

Windows 10 無料インストール版の MySQL インストールと設定のチュートリアル

ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージョンと一致し...

Nodejs のグローバル変数とグローバルオブジェクトの知識ポイントと使用方法の詳細

1. グローバルオブジェクトすべてのモジュールは呼び出すことができます1) global: ブラウザ...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

2つのボールが交差する粘着効果を実現するCSSサンプルコード

これは純粋に CSS のみを使用して作成されたエフェクトです。簡単に言うと、このエフェクトは画像処理...

Linux ドライバ開発でよく使われる関数 copy_from_user open read write の詳細な説明

目次Linux ドライバーの共通機能 (copy_from_user open read write...

MySql バージョンの問題に対する完璧なソリューション sql_mode=only_full_group_by

1. sql_modeを確認する @@sql_mode を選択照会された値は次のとおりです。 ON...

MySQL 5.7 以降のバージョンのダウンロードとインストールのグラフィック チュートリアル

1. ダウンロード1. MySQL公式サイトのダウンロードアドレス: https://downloa...