LoginSignup
2

More than 5 years have passed since last update.

Cocos2d-js 3.0 をminify化して使う

Posted at

動機

cocos2d-jsで作ったものを公開するのにひとつにまとまった cocos2d-****.min.js が欲しかった。

作り方

Cocos2d-js 3.0alpha2 だとminifyできなかったので、developの最新を使う。
自分が使ったのはこれ→
https://github.com/cocos2d/cocos2d-html5/commit/4bf7d102cb8ed2f4ca1265923c082cd8fbfbb93d

だけど、これ以降ならなんでもいけるはず。
ant が必要なのでhomebrewなりyumなりapt-getなりでいれておく。あとJavaも。

git clone git@github.com:cocos2d-html5/
git checkout develop
cd tools
ant

すると、cocos2d-html5/lib にcocos2d-html5-v3.0-alpha2-min.jsというminify化されたファイルができている。

が、このままこのmin.jsを使うとエラーが出るのでbuild.xmlを変更する必要がある。
実はminify化するのにいくつかファイルが足りてない。
次のように変更して、antしよう。

diff --git a/tools/build.xml b/tools/build.xml
index 4b76a9f..580f008 100644
--- a/tools/build.xml
+++ b/tools/build.xml
@@ -21,6 +21,7 @@
                 <file name="cocos2d/core/platform/CCConfig.js"/>
                 <file name="cocos2d/core/platform/miniFramework.js"/>
                 <file name="cocos2d/core/platform/CCMacro.js"/>
+                <file name="cocos2d/core/platform/CCTypesWebGL.js"/>
                 <file name="cocos2d/core/platform/CCTypes.js"/>
                 <file name="cocos2d/core/platform/CCEGLView.js"/>
                 <file name="cocos2d/core/platform/CCScreen.js"/>
@@ -65,6 +66,7 @@
                 <file name="cocos2d/core/CCDrawingPrimitivesCanvas.js"/>
                 <file name="cocos2d/core/CCDrawingPrimitivesWebGL.js"/>
                 <file name="cocos2d/core/labelttf/LabelTTFPropertyDefine.js"/>
+                <file name="cocos2d/core/labelttf/LabelTTFWebGL.js"/>
                 <file name="cocos2d/core/labelttf/CCLabelTTF.js"/>
                 <file name="cocos2d/core/CCActionManager.js"/>
                 <file name="cocos2d/kazmath/utility.js"/>
@@ -245,6 +247,7 @@
                 <file name="cocos2d/core/platform/miniFramework.js"/>
                 <file name="cocos2d/core/platform/CCMacro.js"/>
                 <file name="cocos2d/core/platform/CCTypesPropertyDefine.js"/>
+                <file name="cocos2d/core/platform/CCTypesWebGL.js"/>
                 <file name="cocos2d/core/platform/CCTypes.js"/>
                 <file name="cocos2d/core/platform/CCEGLView.js"/>
                 <file name="cocos2d/core/platform/CCInputManager.js"/>
@@ -289,4 +292,4 @@
             </sources>

TODO:プルリク出す

使い方

使用する際は、index.html でscriptで指定するロードするファイルをcocos2d-html5-v3.0-alpha2-min.jsに変えるといい。もちろんcocos2d-js/libから使いたいディレクトリにコピーする。

-    <script src="../cocos2d-html5/CCBoot.js"></script>
+    <script src="./cocos2d-html5-v3.0-alpha2-min.js"></script>
    <script src="main.js"></script>

cocos2d-js 2 系はconfigにSingleEngineFile:"cocos2d.min.js" みたいに指定してたけど、3.0からはconfigに書けなくなっている(ちなみに、cocos2d.jsに書いていた設定自体が3.0からはproject.jsonに書くことになっている http://www.cocos2d-x.org/docs/manual/framework/html5/v3.0/project-json/en )。
だが、試行錯誤でうまくいっただけなんで正しくないかも…(ただしぐぐっても情報がない)。

感想

cocos2d-js 3.0 の変更箇所はこのページにまとまってる。けっこうかわってるなー
http://www.cocos2d-x.org/docs/manual/framework/html5/release-notes/v3.0a/upgrade-guide/en

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2