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

推薦する

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...

docker で zabbix_agent をデプロイする方法

zabbix_agent のデプロイメント:推奨事項: zabbix_agent は docker-...

Vueで親子コンポーネント通信を実装する方法

目次1. 親コンポーネントと子コンポーネントの関係2. 小道具3. $エミット4. $親V. 結論 ...

Vue の foreach 配列と js の traversal 配列の書き方の説明

Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...

HTML、CSS、RSSフィードが正しいかどうかを確認する無料ツール

この種のエラーに対処するための 1 つの方法は、まずマークアップとスタイルシートを検証することです。...

XHTML の珍しいが便利なタグ

Xhtml には、あまり使用されないが非常に便利なタグが多数あります。半分の労力で 2 倍の結果を達...

Vueコンポーネントのルーティング強調表示問題の解決策

序文以前は、キャッシュを使用してルートを強調表示していました。すべてのルートをトラバースし、クリック...

Nginx のインストールと設定ルールの詳細な紹介

目次1. nginxのインストールと操作(Mac OS環境) 2. nginxルールの設定3. コマ...

JavaScriptのクローン作成についての簡単な説明

目次1. 浅いクローニング2. ディープクローニング1. 浅いクローニング浅いクローンでは配列やオブ...

CSSとHTMLを組み合わせる4つの方法

(1)各HTMLタグには属性スタイルがあり、CSSとHTMLを組み合わせている。 <div s...

Mysql 8.0.17 winx64バージョンのインストール中に発生した問題を解決する

1. my.iniファイルを手動で作成して追加する # クライアントセクション # --------...

Docker で Redis センチネル モードを構成する方法 (複数のサーバー上)

目次序文状態DockerをインストールするRedisのマスターノードとスレーブノードを構成する序文以...

マインスイーパゲームを実装するための jQuery プラグイン (3)

この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する方法に関する3番目の記事...

Vue プラグイン エラー: このページで Vue.js が検出されました。問題は解決しました

Vue プラグインがエラーを報告しました: このページで Vue.js が検出されましたVueプラグ...

システム エラー 1067 のため、MySQL 5.6 解凍バージョン サービスを開始できません

今日午後ずっと私を悩ませたバグを記録する半月前から始めましょう。それから.................