狠狠撸

狠狠撸Share a Scribd company logo
GCS2014

cocos2d-x
JavaScript Bindingsによる
マルチプラットフォーム開発

Keisuke Hata (@Seasons)
自己紹介
?

cocos2d Japan evangelist

?

@ Seasons

?

@ cocos2dfan_jp

?

f cocos2d facebook Group

?

B Seasons.NET

?

S 狠狠撸Share

?

執筆、連載活動(Mobile Touch)
アジェンダ
1. cocos2d-x
2. 开発环境
3. JavaScript Bindings
4. デバッグ手法
5. 开発支援ツール
6. デモ
cocos2d-x
cocos2d-x
?

オープンソースプロジェクト

?

中国、米国で開発

?

2Dゲームフレームワーク

?

OpenGL ES 1.1/2.0対応

?

マルチプラットフォーム対応?
(iOS,Mac,Android,Windows…)

?

ネイティブ言語、スクリプト対
応

?

v2.x系、v3.x系の2系統

cocos2d-x

cocos2d-html5

cocos2d-xna
开発环境
开発环境
?

Windows, Mac, Linux PC

?

C++,C言語

?

Lua, JS Binding対応

?

Lua

JS
C++, C

Windows, Mac, Linux

ソースコード共通

or
CocoStudioは、Windowsでのみ?
動作。利用したい環境にあわせて?
OS使い分けると良い。

メインOS

Parallels Desktop, VMWare
(Mac, Windows, Linux)
JavaScript
Bindings
JavaScript Bindings(JSB)
?

One Source on マルチ環境

?

JavaScriptを共通言語?
(cocos2dのプラットフォームで共有)

?

cocos2dの機能をフルサポート

?

高いパフォーマンス

Common JavaScript
SourceCode
cocos2d-iphone
cocos2d-mac
cocos2d-x

cocos2d-html5
JSBの実装
?

JavaScript Bindingsの実装の
種類は、2種類
?

?

zynga repository

?

cocos2d-x repository

基本仕様は同じであるが、
実装の内容が異なる。

zyngaのiPhone版のjsbが?
ベースとなっている。

JavaScript Bindings

cocos2d-x

zynga
JSB アーキテクチャ
JavaScript
(JavaScript : *.js )

SpiderMonkey
(VM)

JavaScript Bindings
(C++ : *.cpp)

Native Library
(C++,C : *.c, *.cpp)
SpiderMonkey
?

C言語で記述されたJavaScript
エンジン?
( v27搭載[2014/02/16現在] )

?

SpiderMoneky
(original)

オープンソースプロジェクト

?

MPL/GPL/LGPLのトリプル
ライセンス

?

cocos2d組み込み用にカスタ
マイズ(ビルド向け)

SpiderMoneky v27
(for cocos2d)

cocos2d-x
JSBの機能
?

cocos2d-xのクラスを利用可能

?

C/C++の資産の再利用=>JS側からコール可能

?

カスタマイズが可能

?

JS->Cppへの変換の自動化

?

JS上でネイティブオブジェクトのサブクラス化

?

Callbackのサポート

?

デバッガのサポート
APIの互換性
?

cocos2d-html5との互換性が担保。移植が容易。

同じソースコードを利用可能

*.js
cocos2d-html5

cocos2d-x
JSBの仕組み
1. JS側からCpp側のネイティブの
cocos2dライブラリを呼び出す?

JS

Cpp

(要プロキシオブジェクト)。

2. 構造体などは、Cpp側のコード
にアクセスするのではなく、?
JS側でそのまま移植。

JS

cc.p = function( x, y )
{ return {x:x, y:y}; };
オブジェクトライフサイクル
xxxx.create()
?

?

JSとCppのオブジェクトライ
フサイクル管理用にProxyオブ
ジェクトを用意。
ネイティブオブジェクトの?
破棄のタイミングでプロキシ
オブジェクト経由でJSオブ
ジェクトを破棄

Cpp Object
Proxy Object
JS Object

Hash Table
Proxy Object
Proxy Object
デバッグ手法
デバッグ手法
1. CCLOG=cc.logの出力

cc.log( 出力したい文字列 or
オブジェクト)

2. Firefoxを利用した?
高性能デバッガ
Firefoxリモートデバッガ
Pause, Continue
上記2つの詳細な解説は、
「cocos2d javascript bindingsで
マルチプラットフォーム開発」
第10,11回で解説。

Step In, Out
Watch
Breakpoint
开発支援ツール
SublimeText
エディタ
?

http://
www.sublimetext.com

?

テキストエディタ

?

軽快な動作

?

カスタマイズ性が高い

?

豊富なプラグイン
WebStorm
エディタ
?

http://www.jetbrains.com/
webstorm/

?

Web開発専用統合環境

?

高機能(コード補完、エラー
チェックなど)

?

豊富なプラグイン
TexturePacker
テクスチャ
?

http://
www.codeandweb.com/
texturepacker

?

テクスチャ汎用ツール
?
?

減色

?

?

アトラス化

圧縮

cocos2d対応
GlyphDesigner
フォント

?

http://71squared.com/ja/
glyphdesigner

?

ビットマップフォントツール

?

cocos2d対応(CCBMFont)
ParticleDesigner
パーティクル

?

http://71squared.com/
particledesigner

?

パーティクル生成ツール

?

cocos2d対応(CCParticle)
Dash
リファレンス
?

https://itunes.apple.com/jp/
app/dash-docs-snippets/
id458034879?mt=12

?

リファレンスツール

?

軽快な動作

?

スニペット機能対応

?

cocos2dシリーズ対応
各种デモ
デモ一覧
?

JSB Debugger on Firefox 27

?

JSB Sample Game
Ad

Recommended

KEY
颁辞肠辞蝉2诲-虫のかんたんな绍介
Tomoaki Shimizu
?
PDF
実はかんたん!ケ?ームエンシ?ン颁辞肠辞蝉2诲-虫入门
Chukong Technologies Japan
?
KEY
Cocos2d xのススメ
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫开発事例勉强会
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫および开発ツールについて
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫のサーバ连携について
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 2.1.3を使用した、Androidアプリの开発环境構築について
Tomoaki Shimizu
?
PDF
cocos2d-x 3.0 新しい物理演算クラスの利用
Tomoaki Shimizu
?
PDF
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
?
PDF
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Akihiro Matsuura
?
PDF
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫の开発に欠かせない颁辞肠辞蝉叠耻颈濒诲别谤について
Tomoaki Shimizu
?
PDF
cocos2d-x JavaScript Bindingsについて
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの开発环境構築について
Tomoaki Shimizu
?
PDF
cocos2d-xとCocos Code IDE
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫における叠辞虫2顿の利用方法および便利なツール
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫におけるマップエディタの利用
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫のいろいろなオブジェクトの利用
Tomoaki Shimizu
?
PDF
颁辞肠辞蝉2诲-虫&颁辞肠辞蝉颁辞诲别滨顿贰&尝耻补で个人开発始めました
Yasuhiro Matsuda
?
PDF
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの开発环境構築について
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 2.1.3を使用した、iOSアプリの开発环境構築について
Tomoaki Shimizu
?
PDF
cocos2d-x 3.0による変更点
Tomoaki Shimizu
?
PDF
颁辞肠辞厂迟耻诲颈辞の绍介
Tomoaki Shimizu
?
PDF
颁辞肠辞蝉叠耻颈濒诲别谤を利用した开発の进め方
Tomoaki Shimizu
?
PDF
Cocos2d-x v3.2を利用してシューティンク?ケ?ームを作ろう!
Tomoaki Shimizu
?
PDF
Cocos2d xをさらにさわってみよう!
Tomoaki Shimizu
?
PPTX
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Tomoaki Shimizu
?
PDF
自宅て?出来る!ケ?ームサーハ?の作り方
光晶 上原
?
PDF
Consideration of fixed mobile convergence in 5G
ITU
?

More Related Content

What's hot (20)

PDF
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
?
PDF
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Akihiro Matsuura
?
PDF
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫の开発に欠かせない颁辞肠辞蝉叠耻颈濒诲别谤について
Tomoaki Shimizu
?
PDF
cocos2d-x JavaScript Bindingsについて
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの开発环境構築について
Tomoaki Shimizu
?
PDF
cocos2d-xとCocos Code IDE
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫における叠辞虫2顿の利用方法および便利なツール
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫におけるマップエディタの利用
Tomoaki Shimizu
?
PDF
肠辞肠辞蝉2诲-虫のいろいろなオブジェクトの利用
Tomoaki Shimizu
?
PDF
颁辞肠辞蝉2诲-虫&颁辞肠辞蝉颁辞诲别滨顿贰&尝耻补で个人开発始めました
Yasuhiro Matsuda
?
PDF
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの开発环境構築について
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 2.1.3を使用した、iOSアプリの开発环境構築について
Tomoaki Shimizu
?
PDF
cocos2d-x 3.0による変更点
Tomoaki Shimizu
?
PDF
颁辞肠辞厂迟耻诲颈辞の绍介
Tomoaki Shimizu
?
PDF
颁辞肠辞蝉叠耻颈濒诲别谤を利用した开発の进め方
Tomoaki Shimizu
?
PDF
Cocos2d-x v3.2を利用してシューティンク?ケ?ームを作ろう!
Tomoaki Shimizu
?
PDF
Cocos2d xをさらにさわってみよう!
Tomoaki Shimizu
?
PPTX
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Tomoaki Shimizu
?
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
?
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Akihiro Matsuura
?
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
肠辞肠辞蝉2诲-虫の开発に欠かせない颁辞肠辞蝉叠耻颈濒诲别谤について
Tomoaki Shimizu
?
cocos2d-x JavaScript Bindingsについて
Tomoaki Shimizu
?
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの开発环境構築について
Tomoaki Shimizu
?
cocos2d-xとCocos Code IDE
Tomoaki Shimizu
?
肠辞肠辞蝉2诲-虫における叠辞虫2顿の利用方法および便利なツール
Tomoaki Shimizu
?
肠辞肠辞蝉2诲-虫におけるマップエディタの利用
Tomoaki Shimizu
?
肠辞肠辞蝉2诲-虫のいろいろなオブジェクトの利用
Tomoaki Shimizu
?
颁辞肠辞蝉2诲-虫&颁辞肠辞蝉颁辞诲别滨顿贰&尝耻补で个人开発始めました
Yasuhiro Matsuda
?
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの开発环境構築について
Tomoaki Shimizu
?
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
Macでcocos2d-x 2.1.3を使用した、iOSアプリの开発环境構築について
Tomoaki Shimizu
?
cocos2d-x 3.0による変更点
Tomoaki Shimizu
?
颁辞肠辞厂迟耻诲颈辞の绍介
Tomoaki Shimizu
?
颁辞肠辞蝉叠耻颈濒诲别谤を利用した开発の进め方
Tomoaki Shimizu
?
Cocos2d-x v3.2を利用してシューティンク?ケ?ームを作ろう!
Tomoaki Shimizu
?
Cocos2d xをさらにさわってみよう!
Tomoaki Shimizu
?
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Tomoaki Shimizu
?

Viewers also liked (6)

PDF
自宅て?出来る!ケ?ームサーハ?の作り方
光晶 上原
?
PDF
Consideration of fixed mobile convergence in 5G
ITU
?
PPTX
5G End to-end network slicing Demo
ITU
?
PDF
グッドパッチのデザインカルチャーの作り方
Satoru MURAKOSHI
?
PPTX
Niantic位置ケ?ームを 簡単にハ?クれないワケ
Masafumi Otsune
?
PDF
叠补补厂でゲームサーバを作る话
Tomokazu Tochi
?
自宅て?出来る!ケ?ームサーハ?の作り方
光晶 上原
?
Consideration of fixed mobile convergence in 5G
ITU
?
5G End to-end network slicing Demo
ITU
?
グッドパッチのデザインカルチャーの作り方
Satoru MURAKOSHI
?
Niantic位置ケ?ームを 簡単にハ?クれないワケ
Masafumi Otsune
?
叠补补厂でゲームサーバを作る话
Tomokazu Tochi
?
Ad

Similar to Gcs2014 0225 cocos2d-xjsb (20)

PDF
颁辞肠辞蝉2诲-虫およひ?関连サーヒ?スについて
Chukong Technologies Japan
?
PDF
颁辞肠辞蝉2诲-虫(惫3.虫)で作るマルチプラットフォームゲーム
Norio Akagi
?
PDF
CocosBuilderとcocos2d-x JSB
Tomoaki Shimizu
?
PPTX
颁辞肠辞蝉2诲-虫(闯厂)の绍介
Tomoaki Shimizu
?
KEY
Cocos2d platforms
Keisuke Hata
?
PDF
cocos2d-xハンズオン勉強会 in 名古屋
Tomoaki Shimizu
?
PDF
颁辞肠辞蝉2诲-虫による最新ケ?ーム开発
Chukong Technologies Japan
?
PDF
颁辞肠辞蝉叠耻颈濒诲别谤の绍介
Masahiro Murakami
?
PDF
Cocos2dx 8hour
Tomohiko Okita
?
PPTX
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Tomoaki Shimizu
?
PDF
cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
?
PDF
かんたんな肠辞肠辞蝉2诲-虫の绍介
Tomoaki Shimizu
?
PDF
Cocos2d-x勉強会 2014/10/05
Yasuhiro Matsuda
?
KEY
Cocos2d xをさわってみよう!
Tomoaki Shimizu
?
PDF
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
PDF
颁辞肠辞蝉2诲-虫と厂辫谤颈迟别厂迟耻诲颈辞を使った音ゲー开発のお话
Satoru Takai
?
PDF
颁辞肠辞蝉サーヒ?スについて
Chukong Technologies Japan
?
PDF
颁辞肠辞蝉最新情报(2015/3/13)
Chukong Technologies Japan
?
PDF
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
gree_tech
?
PDF
颁辞肠辞蝉2诲-虫の深层?颁辞肠辞蝉2诲-虫组み込みによるピュア础苍诲谤辞颈诲/颈翱厂アプリの外科手术的统合
Ryuichi Kubuki
?
颁辞肠辞蝉2诲-虫およひ?関连サーヒ?スについて
Chukong Technologies Japan
?
颁辞肠辞蝉2诲-虫(惫3.虫)で作るマルチプラットフォームゲーム
Norio Akagi
?
CocosBuilderとcocos2d-x JSB
Tomoaki Shimizu
?
颁辞肠辞蝉2诲-虫(闯厂)の绍介
Tomoaki Shimizu
?
Cocos2d platforms
Keisuke Hata
?
cocos2d-xハンズオン勉強会 in 名古屋
Tomoaki Shimizu
?
颁辞肠辞蝉2诲-虫による最新ケ?ーム开発
Chukong Technologies Japan
?
颁辞肠辞蝉叠耻颈濒诲别谤の绍介
Masahiro Murakami
?
Cocos2dx 8hour
Tomohiko Okita
?
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Tomoaki Shimizu
?
cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
?
かんたんな肠辞肠辞蝉2诲-虫の绍介
Tomoaki Shimizu
?
Cocos2d-x勉強会 2014/10/05
Yasuhiro Matsuda
?
Cocos2d xをさわってみよう!
Tomoaki Shimizu
?
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム开発环境構築について
Tomoaki Shimizu
?
颁辞肠辞蝉2诲-虫と厂辫谤颈迟别厂迟耻诲颈辞を使った音ゲー开発のお话
Satoru Takai
?
颁辞肠辞蝉サーヒ?スについて
Chukong Technologies Japan
?
颁辞肠辞蝉最新情报(2015/3/13)
Chukong Technologies Japan
?
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
gree_tech
?
颁辞肠辞蝉2诲-虫の深层?颁辞肠辞蝉2诲-虫组み込みによるピュア础苍诲谤辞颈诲/颈翱厂アプリの外科手术的统合
Ryuichi Kubuki
?
Ad

More from Keisuke Hata (20)

PDF
apportable meeting
Keisuke Hata
?
PDF
iOS app hacks all_map
Keisuke Hata
?
PDF
iOS app hacks
Keisuke Hata
?
KEY
Photobook
Keisuke Hata
?
KEY
TiPhotobook_en
Keisuke Hata
?
KEY
CCSendMessages introduction
Keisuke Hata
?
KEY
Cocos2d Performance Tips
Keisuke Hata
?
KEY
CCResourceAsyncLoader
Keisuke Hata
?
PDF
Impact beginngers guide_1.19
Keisuke Hata
?
PDF
Advanced cocos2d
Keisuke Hata
?
KEY
Introduction titanium
Keisuke Hata
?
PDF
Hello cocos2d ios
Keisuke Hata
?
PDF
Hello cocos2d ios
Keisuke Hata
?
KEY
Google wave2010
Keisuke Hata
?
KEY
How To Build Last Fm For I Phone
Keisuke Hata
?
PDF
Mercurial&OnenoteServer
Keisuke Hata
?
PDF
Math1 Vector
Keisuke Hata
?
PDF
Wiipen
Keisuke Hata
?
PDF
Gl Rotate
Keisuke Hata
?
PDF
Gl Matrix
Keisuke Hata
?
apportable meeting
Keisuke Hata
?
iOS app hacks all_map
Keisuke Hata
?
iOS app hacks
Keisuke Hata
?
Photobook
Keisuke Hata
?
TiPhotobook_en
Keisuke Hata
?
CCSendMessages introduction
Keisuke Hata
?
Cocos2d Performance Tips
Keisuke Hata
?
CCResourceAsyncLoader
Keisuke Hata
?
Impact beginngers guide_1.19
Keisuke Hata
?
Advanced cocos2d
Keisuke Hata
?
Introduction titanium
Keisuke Hata
?
Hello cocos2d ios
Keisuke Hata
?
Hello cocos2d ios
Keisuke Hata
?
Google wave2010
Keisuke Hata
?
How To Build Last Fm For I Phone
Keisuke Hata
?
Mercurial&OnenoteServer
Keisuke Hata
?
Math1 Vector
Keisuke Hata
?
Gl Rotate
Keisuke Hata
?
Gl Matrix
Keisuke Hata
?

Gcs2014 0225 cocos2d-xjsb