44
cocos2d-consoleパッケージ管理 11cocos2d-x勉強会 @giginet

cocos2d-consoleでパッケージ管理

Embed Size (px)

Citation preview

Page 1: cocos2d-consoleでパッケージ管理

cocos2d-consoleでパッケージ管理第11回cocos2d-x勉強会 @giginet

Page 2: cocos2d-consoleでパッケージ管理

@giginet

Page 3: cocos2d-consoleでパッケージ管理

http://www.kawaz.org/

Page 4: cocos2d-consoleでパッケージ管理

• 『cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応]

for iOS/Android 』

• 技術評論社 税別¥2,980

• 大好評発売中!!!

Page 5: cocos2d-consoleでパッケージ管理

今日話すこと

Page 6: cocos2d-consoleでパッケージ管理

cocos2d-console

https://github.com/cocos2d/cocos2d-console

Page 7: cocos2d-consoleでパッケージ管理

http://www.cocos2d-x.org/news/416

Page 8: cocos2d-consoleでパッケージ管理
Page 9: cocos2d-consoleでパッケージ管理

cocos package

• リポジトリからライブラリを引っ張ってきて管理するコマンド

cocos framework

• ライブラリを自分のプロジェクトに簡単に組み込むコマンド

Page 10: cocos2d-consoleでパッケージ管理

基本的な使い方

$ cocos new YourGame -l cpp$ cocos package install gaf$ cd YourGame$ cocos framework add gaf

Page 11: cocos2d-consoleでパッケージ管理

cocos package

• ~/.cocos_packagesにパッケージをインストールできる

• cocos package search [query]

• cocos package list

• cocos package info [name]

Page 12: cocos2d-consoleでパッケージ管理

cocos package install

Page 13: cocos2d-consoleでパッケージ管理

cocos package list

Page 14: cocos2d-consoleでパッケージ管理

cocos framework

• ~/.cocos_packages以下にインストールされたライブラリをプロジェクトに組み込む

• cocos framework add [name]

• cocos framework remove [name]

Page 15: cocos2d-consoleでパッケージ管理

cocos framework add

• フレームワークの依存ファイルをpackages/

[name]-[version]/以下にコピーしてくれる

• XcodeプロジェクトやAndroid.mkなどの設定も自動的に行ってくれる

Page 16: cocos2d-consoleでパッケージ管理

プラットフォーム毎に自動設定

iOS

Page 17: cocos2d-consoleでパッケージ管理

Android

Page 18: cocos2d-consoleでパッケージ管理

便利そう!

Page 19: cocos2d-consoleでパッケージ管理

リポジトリ

• 登録されているパッケージを検索するAPI

• http://pmr.cocos.com/?keyword=[query]

• [query]を渡さずにJSONを取得すると、現在登録されている全てのパッケージが閲覧できる

Page 20: cocos2d-consoleでパッケージ管理

http://pmr.cocos.com/?keyword=

Page 21: cocos2d-consoleでパッケージ管理

わずか3件しかない [2015/3/20現在]

Page 22: cocos2d-consoleでパッケージ管理

現段階では全然使えない

• まだまだ発展途上?

Page 23: cocos2d-consoleでパッケージ管理

frameworkを自作する

Page 24: cocos2d-consoleでパッケージ管理

frameworkを自作する

• 現状、リポジトリからframeworkを取得してくる使い方は難しい

• 最新版のcocos2d-consoleではframeworkの新規作成に対応している

Page 25: cocos2d-consoleでパッケージ管理

cocos framework create

• cocos framework createコマンドでフレームワークを自作できる

• cocos2d-x 3.4には含まれていない

• 試す場合はcocos2d/cocos2d-console v3ブランチのHEADを使う

• ドキュメントもなかった

Page 26: cocos2d-consoleでパッケージ管理

frameworkを作る

$ cocos new NewFramework -l cpp$ NewFramework$ cocos framework create new_framework

Page 27: cocos2d-consoleでパッケージ管理
Page 28: cocos2d-consoleでパッケージ管理

packages/new_framework-1.0

Page 29: cocos2d-consoleでパッケージ管理

package.json

• パッケージの名前や概要、バージョンを記述するファイル

install.json

• パッケージインストール時の動作を定義するファイル

Page 30: cocos2d-consoleでパッケージ管理

例:ADX2 for cocos2d-x

• CRI・ミドルウェアさんが配付するADX2 for

cocos2d-xを例にパッケージを作成してみた

• http://www.adx2le.com/

Page 31: cocos2d-consoleでパッケージ管理
Page 32: cocos2d-consoleでパッケージ管理

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"}

Page 33: cocos2d-consoleでパッケージ管理

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"]

},

Page 34: cocos2d-consoleでパッケージ管理

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"]

}]

Page 35: cocos2d-consoleでパッケージ管理

command

• add_header_path

• includeパスの設定を追加する

• add_lib

• 外部ライブラリの設定を追加する

Page 36: cocos2d-consoleでパッケージ管理

その他のcommand

• add_system_framework

• add_files_and_dirs

• add_entry_function

Page 37: cocos2d-consoleでパッケージ管理

ファイルの設置• 作成したpackageをzipに固める

• .cocos_packages/adx2-1.0/adx2-1.0.zip

Page 38: cocos2d-consoleでパッケージ管理

local_packages.jsonの更新

• ~/.cocos_packages/local_packages.jsonに今追加したパッケージを登録する

• [パッケージ名]-[バージョン]をキーにした辞書を追加する

Page 39: cocos2d-consoleでパッケージ管理

local_packages.json

{ "adx2-1.0": { "author": "giginet", "version": "1.0", "filename": "adx2-1.0.zip", "name": "adx2" }}

Page 40: cocos2d-consoleでパッケージ管理

インストールする

$ cocos new YourGame -l cpp$ cd YourGame$ cocos framework add adx2

Page 41: cocos2d-consoleでパッケージ管理

ライブラリを追加できた

• 勝手に設定されて嬉しい

Page 42: cocos2d-consoleでパッケージ管理

まとめ

• 現段階では実用性に乏しい

• 現状では、.cocos-packagesへのインストールなどを手動でやる必要があって面倒

• リポジトリへの登録や、リポジトリURLの変更ができて欲しい

Page 43: cocos2d-consoleでパッケージ管理

まとめ

• ドキュメントがないのでコード(Python)を読むしかない

• 中の実装が追いづらい

• 将来的にBundlerやCocoaPodsのように管理できるようになると嬉しい

• PR送ろうと思います

Page 44: cocos2d-consoleでパッケージ管理

Any Questions?