Upload
kohki-miki
View
1.489
Download
6
Embed Size (px)
Citation preview
cocos2d-consoleでパッケージ管理第11回cocos2d-x勉強会 @giginet
@giginet
http://www.kawaz.org/
• 『cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応]
for iOS/Android 』
• 技術評論社 税別¥2,980
• 大好評発売中!!!
今日話すこと
cocos2d-console
https://github.com/cocos2d/cocos2d-console
http://www.cocos2d-x.org/news/416
cocos package
• リポジトリからライブラリを引っ張ってきて管理するコマンド
cocos framework
• ライブラリを自分のプロジェクトに簡単に組み込むコマンド
基本的な使い方
$ cocos new YourGame -l cpp$ cocos package install gaf$ cd YourGame$ cocos framework add gaf
cocos package
• ~/.cocos_packagesにパッケージをインストールできる
• cocos package search [query]
• cocos package list
• cocos package info [name]
cocos package install
cocos package list
cocos framework
• ~/.cocos_packages以下にインストールされたライブラリをプロジェクトに組み込む
• cocos framework add [name]
• cocos framework remove [name]
cocos framework add
• フレームワークの依存ファイルをpackages/
[name]-[version]/以下にコピーしてくれる
• XcodeプロジェクトやAndroid.mkなどの設定も自動的に行ってくれる
プラットフォーム毎に自動設定
iOS
Android
便利そう!
リポジトリ
• 登録されているパッケージを検索するAPI
• http://pmr.cocos.com/?keyword=[query]
• [query]を渡さずにJSONを取得すると、現在登録されている全てのパッケージが閲覧できる
http://pmr.cocos.com/?keyword=
わずか3件しかない [2015/3/20現在]
現段階では全然使えない
• まだまだ発展途上?
frameworkを自作する
frameworkを自作する
• 現状、リポジトリからframeworkを取得してくる使い方は難しい
• 最新版のcocos2d-consoleではframeworkの新規作成に対応している
cocos framework create
• cocos framework createコマンドでフレームワークを自作できる
• cocos2d-x 3.4には含まれていない
• 試す場合はcocos2d/cocos2d-console v3ブランチのHEADを使う
• ドキュメントもなかった
frameworkを作る
$ cocos new NewFramework -l cpp$ NewFramework$ cocos framework create new_framework
packages/new_framework-1.0
package.json
• パッケージの名前や概要、バージョンを記述するファイル
install.json
• パッケージインストール時の動作を定義するファイル
例:ADX2 for cocos2d-x
• CRI・ミドルウェアさんが配付するADX2 for
cocos2d-xを例にパッケージを作成してみた
• http://www.adx2le.com/
package.json
{"name": "adx2","version": "1.0","engine": "3.4+","author": "CRI Middleware Inc.","url": "http://www.adx2le.com/","description": "Feature-rich/cross-
platform audio solution"}
install.json[
{"command": "add_header_path","source": "adx2-1.0/include/android","platform": ["android"]
},{
"command": "add_header_path","source": "adx2-1.0/include/ios","platform": ["ios"]
},{
"command": "add_header_path","source": "adx2-1.0/include/macosx","platform": ["mac"]
},{
"command": "add_header_path","source": "adx2-1.0/include/pc","platform": ["win"]
},
install.json{
"command": "add_lib","source": "libcri_ware_android_LE.so","import-module": "adx2-1.0/libs/android/armeabi-v7a","platform": ["android"]
}, {
"command": "add_lib","source": "adx2-1.0/libs/ios/libcri_ware_ios_LE.a","platform": ["ios"]
},{
"command": "add_lib","source": "adx2-1.0/libs/macosx/libcri_ware_macosx_LE.a","platform": ["mac"]
},{
"command": "add_lib","source": "adx2-1.0/libs/pc/x86/cri_ware_pcx86_LE_import.lib","platform": ["win"]
}]
command
• add_header_path
• includeパスの設定を追加する
• add_lib
• 外部ライブラリの設定を追加する
その他のcommand
• add_system_framework
• add_files_and_dirs
• add_entry_function
ファイルの設置• 作成したpackageをzipに固める
• .cocos_packages/adx2-1.0/adx2-1.0.zip
local_packages.jsonの更新
• ~/.cocos_packages/local_packages.jsonに今追加したパッケージを登録する
• [パッケージ名]-[バージョン]をキーにした辞書を追加する
local_packages.json
{ "adx2-1.0": { "author": "giginet", "version": "1.0", "filename": "adx2-1.0.zip", "name": "adx2" }}
インストールする
$ cocos new YourGame -l cpp$ cd YourGame$ cocos framework add adx2
ライブラリを追加できた
• 勝手に設定されて嬉しい
まとめ
• 現段階では実用性に乏しい
• 現状では、.cocos-packagesへのインストールなどを手動でやる必要があって面倒
• リポジトリへの登録や、リポジトリURLの変更ができて欲しい
まとめ
• ドキュメントがないのでコード(Python)を読むしかない
• 中の実装が追いづらい
• 将来的にBundlerやCocoaPodsのように管理できるようになると嬉しい
• PR送ろうと思います
Any Questions?