SlideShare a Scribd company logo
1 of 26
Download to read offline
cocos2d-xと
ネイティブ間の連携
  株式会社TKS2 清水友晶
清水 友晶
—  株式会社TKS2
  スマートフォンアプリ開発
  (iOS, Android, Windows Phone 8)
  Webコンテンツ開発
—  cocos2d-xへの開発参加
  cocos2d-xを利用したアプリ開発
  講演活動
  執筆活動

—  Twitter: tks2shimizu
—  Blog: http://tks2.net/memo
—  SlideShare: http://www.slideshare.net/doraemonsss
—  Facebook: http://www.facebook.com/doraemonsss
—  http://cocos2d-x.jp

—  cocos2d-x開発元Chukong Technologies社公認

—  cocos2d-xのための自由なコミュニティー

—  入門者から上級者まで誰でもOK!!ぜひご参加を!

—  cocos2d-xに関することなら何でも投稿できます!!
—  https://www.facebook.com/groups/152840204871454/
—  現在のshinjuku.cocos2d-xハンズオンの問題点
 —  Macユーザのみを対象としている。
 —  徐々にレベルが上がってきているため初心者ついて
   これない。



—  将来のshinjuku.cocos2d-xハンズオン
 —  Windowsユーザ, Macユーザを区別しない
 —  レベルはこのまま
—  shinjuku.cocos2d-x初心者ハンズオン
—  3/14 第6回 shinjuku.cocos2d-x
—  3/21 shinjuku.cocos2d-x初心者ハンズオン
      ∼MacでAndroidアプリを作ろう!∼

—  3/22 cocos2d-x公開講座 in 鹿児島
—  3/23 cocos2d-x実践講座 in 鹿児島
—  4/10 shinjuku.cocos2d-x初心者ハンズオン
      ∼WindowsでAndroidアプリを作ろう!∼

—  4/17 第7回 shinjuku.cocos2d-x
—  5/M 第8回 shinjuku.cocos2d-x
—  5/M shinjuku.cocos2d-x初心者ハンズオン
      ∼MacでiOSアプリを作ろう!∼
目次
—  cocos2d-xとネイティブ間の連携の概要

—  C++からObjective-Cへのアクセス
—  C++からJavaへのアクセス
—  Objective-CからC++へのアクセス
—  JavaからC++へのアクセス

—  ネイティブ間連携を試してみよう!
 —  デバイス名を取得する
cocos2d-xとネイティブ間の連携の概要
—  各OSの機能を利用するには必要となる
 —  言語設定・国コード・識別コード(ユーザ, 端末)
 —  ブラウザ・カメラ・マイク・アプリ内課金
—  連携は各OS毎に実装が必要
 —  cocos2d-x(C++) çè Android(Java)
 —  cocos2d-x(C++) çè iOS(Objective-C)
           :

—  公式フォーラムで連携方法を聞くと、決まって
 「CocosDenshionを見てね」と言われる
CocosDenshionの連携方法
       Android	
                           iOS	
                   SimpleAudioEngine.h	

  SimpleAudioEngine.cpp	
       SimpleAudioEngine.mm	



  SimpleAudioEngineJni.h	
     SimpleAudioEngine_objc.h	

 SimpleAudioEngineJni.cpp	
    SimpleAudioEngine_objc.m	


                                    CDAudioManager.h	
   Cocos2dxHelper.java	
                                    CDAudioManager.m	

 Cocos2dx       Cocos2dx
 Music.java	
   Sound.java
C++からネイティブへのアクセス
—  共通のクラスにより各OSの差異を吸収する

—  実装はOS毎で用意する

—  CCApplication::getCurrentLanguage()を参照

             Android	
                       iOS	
           CCApplication.h	
            CCApplication.h	

          CCApplication.cpp	
          CCApplication.mm	


      Java_org_cocos2dx_lib_Cocos2dx
                  Helper.h	
      Java_org_cocos2dx_lib_Cocos2dx
                Helper.cpp	



           Cocos2dxHelper.java
C++からObjective-Cへのアクセス
—  .mm形式であればC++とObjective-Cを混在させるこ
 とができるため比較的容易

—  C++の実装部に、Objective-CによりiOSの機能を記述
 することが可能
C++からJavaへのアクセス
—  JNI(Java Native Interface)を利用する
—  JNIとは、Javaプラットフォームにおいて、Javaで記
  述されたプログラムと、他の言語(たとえばCやC+
  +など)で書かれた、実際のCPUの上で動作するコー
  ド(ネイティブコード)とを連携するためのインタ
  フェース仕様
  http://ja.wikipedia.org/wiki/Java_Native_Interface

—  JNIを利用するクラスを用意する
—  Javaで書かれたクラス上にAndroid SDKを用い
  Androidの機能を利用する
ネイティブからC++へのアクセス
—  ccTouches 関数を参照
         Android	
                                       iOS	
      Cocos2dxRenderer.java	

                                                       EAGLView.h	

         TouchesJni.cpp	
                             EAGLView.mm	



          CCEGLView.h	
                                CCEGLView.h	
                             CCEGLViewProtocol.h	
         CCEGLView.cpp	
                              CCEGLView.cpp	
                            CCEGLViewProtocol.cpp	


                       CCTouchDispatcher.h	
                                                           CCTouchDelegate.h	
                      CCTouchDispatcher.cpp	
                                                          CCTouchDelegate.cpp	


                                 CCLayer.h	
                                CCLayer.cpp
ネイティブからC++へのアクセス
—  あらかじめDelegateクラスに呼び出される関数をセッ
 トしておき、ネイティブから要求があるときにこの関
 数を呼び出す

—  各OSの差異を吸収するため次のクラスが用意されてい
 る
 —  CCTouchesHandlerクラス
 —  CCTouchDelegateクラス
 —  CCTouchDispatcherクラス
Objective-CからC++へのアクセス
—  .mm形式であればC++とObjective-Cを混在させるこ
 とができるため比較的容易

—  タッチイベントを受けるために次のクラスを用意
 —  CCEGLViewProtocolクラス
 —  EGLTouchDelegateクラス
JavaからC++へのアクセス
—  JNIを利用する
—  タッチイベントを受けるために次のクラスを用意
 —  Cocos2dxRendererクラス

—  JavaからJNIで定義された関数を呼び出すには、Java
 のクラスにおいて同じ関数名のメソッドをnativeで宣
 言する必要がある

—  JNIからCCDispatcherクラスを呼び出す
ネイティブ間連携を
 試してみよう!
 デバイス名を取得する
デバイス名を取得する
      Android	
                           iOS	
                  DeviceInformation.h	

 DeviceInformation.cpp	
        DeviceInformation.mm	



 DeviceInformationJni.h	
     DeviceInformation_objc.h	

DeviceInformationJni.cpp	
    DeviceInformation_objc.m	



 DeviceInformation.java
DeviceInformation.h
#ifndef _DEVICE_INFORMATION_H_!
#define _DEVICE_INFORMATION_H_!
!
#include <stddef.h>!
!
class DeviceInformation!
{!
public:!
    static char const* getDeviceName();!
};!
!
#endif // _DEVICE_INFORMATION_H_!
DeviceInformation.mm
#include "DeviceInformation.h"!
#include "DeviceInformation_objc.h"!
!
static char const* static_GetDeviceName()!
{!
    return [DeviceInformationObjc getDeviceName];!
}!
!
char const* DeviceInformation::getDeviceName()!
{!
    return static_GetDeviceName();!
}!
DeviceInformation_objc.h
#import <Foundation/Foundation.h>!
!
@interface DeviceInformationObjc : NSObject!
!
+ (char const*)getDeviceName;!
!
@end!
DeviceInformation_objc.cpp
#import "DeviceInformation_objc.h"!
#include <sys/sysctl.h>!
!
@implementation DeviceInformationObjc!
!
+ (char const*)getDeviceName {!
    size_t size;!
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);!
    char *machine = malloc(size);!
    sysctlbyname("hw.machine", machine, &size, NULL, 0);!
    NSString *platformName = [NSString
stringWithCString:machine encoding:NSUTF8StringEncoding];!
    free(machine);!
    !
      return [platformName UTF8String];!
}!
!
@end!
DeviceInformation.cpp
#include "DeviceInformation.h"!
#include "DeviceInformationJni.h"!
!
char const* DeviceInformation::getDeviceName()!
{!
    return getDeviceNameJNI();!
}!
DeviceInformationJni.h
#ifndef __DEVICE_INFORMATION_JNI__!
#define __DEVICE_INFORMATION_JNI__!
!
#include <jni.h>!
!
extern "C"!
{!
    extern char const* getDeviceNameJNI();!
}!
!
#endif // __DEVICE_INFORMATION_JNI__!
DeviceInformationJni.cpp
#include   "DeviceInformationJni.h"!
#include   <jni.h>!
#include   "platform/android/jni/JniHelper.h"!
#include   "cocoa/CCString.h"!
!
#define    CLASS_NAME "net/tks2/sampleproject/SampleProject"!
!
using namespace cocos2d;!
using namespace std;!
!
extern "C" {!
    const char* getDeviceNameJNI() {!
        JniMethodInfo t;!
        !
          if (JniHelper::getStaticMethodInfo(t, CLASS_NAME, "getDeviceName", "()Ljava/lang/
String;")) {!
                jstring str = (jstring)t.env->CallStaticObjectMethod(t.classID, t.methodID);!
                t.env->DeleteLocalRef(t.classID);!
                CCString *ret = new CCString(JniHelper::jstring2string(str).c_str());!
                ret->autorelease();!
                t.env->DeleteLocalRef(str);!
                !
                  return ret->m_sString.c_str();!
          }!
          !
            return 0;!
    }!
}!
DeviceInformation.java
package net.tks2.sampleproject;!
!
import org.cocos2dx.lib.Cocos2dxActivity;!
import android.os.Build;!
import android.os.Bundle;!
!
public class SampleProject extends Cocos2dxActivity{!
    protected void onCreate(Bundle savedInstanceState){!
            super.onCreate(savedInstanceState);!
    }!
    !
      static {!
             System.loadLibrary("game");!
      }!
      !
        public static String getDeviceName() {!
            return Build.MODEL;!
        }!
}!
おわり
—  次回、cocos2dxにおけるBox2Dの利用方法および
 便利なツールを紹介します。
—  ありがとうございました。

More Related Content

What's hot

Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Tomoaki Shimizu
 
cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成Tomoaki Shimizu
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門Kohki Miki
 
㊱タイルマップに挑戦
㊱タイルマップに挑戦㊱タイルマップに挑戦
㊱タイルマップに挑戦Nishida Kansuke
 
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」Tomoaki Shimizu
 
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築についてTomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Tomoaki Shimizu
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Tomoaki Shimizu
 
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
Cocos2d-xで画像周りを自由自在に表示してみよう
Cocos2d-xで画像周りを自由自在に表示してみようCocos2d-xで画像周りを自由自在に表示してみよう
Cocos2d-xで画像周りを自由自在に表示してみようTomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Tomoaki Shimizu
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールTomoaki Shimizu
 
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築についてTomoaki Shimizu
 
Cocos2d xでの開発の準備
Cocos2d xでの開発の準備Cocos2d xでの開発の準備
Cocos2d xでの開発の準備Tomoaki Shimizu
 

What's hot (20)

Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
 
cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
 
㊱タイルマップに挑戦
㊱タイルマップに挑戦㊱タイルマップに挑戦
㊱タイルマップに挑戦
 
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
 
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
 
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
 
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
 
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
 
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
 
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
 
Cocos2d-xで画像周りを自由自在に表示してみよう
Cocos2d-xで画像周りを自由自在に表示してみようCocos2d-xで画像周りを自由自在に表示してみよう
Cocos2d-xで画像周りを自由自在に表示してみよう
 
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
 
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
 
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
 
cocos2d-xとspine
cocos2d-xとspinecocos2d-xとspine
cocos2d-xとspine
 
Cocos2d xでの開発の準備
Cocos2d xでの開発の準備Cocos2d xでの開発の準備
Cocos2d xでの開発の準備
 

Viewers also liked

cocos2d-xの開発に欠かせないCocosBuilderについて
cocos2d-xの開発に欠かせないCocosBuilderについてcocos2d-xの開発に欠かせないCocosBuilderについて
cocos2d-xの開発に欠かせないCocosBuilderについてTomoaki Shimizu
 
cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会Tomoaki Shimizu
 
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築についてTomoaki Shimizu
 
cocos2d-xのサーバ連携について
cocos2d-xのサーバ連携についてcocos2d-xのサーバ連携について
cocos2d-xのサーバ連携についてTomoaki Shimizu
 
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Tomoaki Shimizu
 
cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用Tomoaki Shimizu
 
cocos2d-x JavaScript Bindingsについて
cocos2d-x JavaScript Bindingsについてcocos2d-x JavaScript Bindingsについて
cocos2d-x JavaScript BindingsについてTomoaki Shimizu
 
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Tomoaki Shimizu
 
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Tomoaki Shimizu
 

Viewers also liked (11)

cocos2d-xの開発に欠かせないCocosBuilderについて
cocos2d-xの開発に欠かせないCocosBuilderについてcocos2d-xの開発に欠かせないCocosBuilderについて
cocos2d-xの開発に欠かせないCocosBuilderについて
 
cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会cocos2d-x開発事例勉強会
cocos2d-x開発事例勉強会
 
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
 
cocos2d-xのサーバ連携について
cocos2d-xのサーバ連携についてcocos2d-xのサーバ連携について
cocos2d-xのサーバ連携について
 
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
 
CocoStudioの紹介
CocoStudioの紹介CocoStudioの紹介
CocoStudioの紹介
 
cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用
 
cocos2d-x JavaScript Bindingsについて
cocos2d-x JavaScript Bindingsについてcocos2d-x JavaScript Bindingsについて
cocos2d-x JavaScript Bindingsについて
 
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
 
Cocos2d xのススメ
Cocos2d xのススメCocos2d xのススメ
Cocos2d xのススメ
 
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!
 

Similar to cocos2d-xとネイティブ間の連携

Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力Keiji Ariyama
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cythonAtsuo Ishimoto
 
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発  - Game Development Starting with Next2DNext2Dで始めるゲーム開発  - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2DToshiyuki Ienaga
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~Akira Inoue
 
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~Fujio Kojima
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念Masahito Zembutsu
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介Tomoaki Shimizu
 
[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回Yukiko Kato
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspecTsuyoshi Yamada
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門uranishi
 
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-toolNaruto TAKAHASHI
 
Go 製リアルタイムサーバーの Kubernetes での運用について
Go 製リアルタイムサーバーの  Kubernetes での運用についてGo 製リアルタイムサーバーの  Kubernetes での運用について
Go 製リアルタイムサーバーの Kubernetes での運用についてKairiOkumura
 

Similar to cocos2d-xとネイティブ間の連携 (20)

実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
 
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発  - Game Development Starting with Next2DNext2Dで始めるゲーム開発  - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
 
Hbstudy41 auto scaling
Hbstudy41 auto scalingHbstudy41 auto scaling
Hbstudy41 auto scaling
 
Cocos2d-xハンズオンセミナー
Cocos2d-xハンズオンセミナーCocos2d-xハンズオンセミナー
Cocos2d-xハンズオンセミナー
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
 
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介
 
[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
 
WebRTC on Native App
WebRTC on Native AppWebRTC on Native App
WebRTC on Native App
 
DartVM on Android
DartVM on AndroidDartVM on Android
DartVM on Android
 
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
 
CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-tool
 
Go 製リアルタイムサーバーの Kubernetes での運用について
Go 製リアルタイムサーバーの  Kubernetes での運用についてGo 製リアルタイムサーバーの  Kubernetes での運用について
Go 製リアルタイムサーバーの Kubernetes での運用について
 

More from Tomoaki Shimizu

Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」Tomoaki Shimizu
 
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Tomoaki Shimizu
 
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDEcocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDETomoaki Shimizu
 
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみたCocos Code IDEを使ってみた
Cocos Code IDEを使ってみたTomoaki Shimizu
 
cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点Tomoaki Shimizu
 
タワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-xタワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-xTomoaki Shimizu
 
cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化Tomoaki Shimizu
 
CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2Tomoaki Shimizu
 
cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用Tomoaki Shimizu
 
cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用Tomoaki Shimizu
 
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築についてTomoaki Shimizu
 
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築についてTomoaki Shimizu
 
cocos2d-xにおけるデータ管理
cocos2d-xにおけるデータ管理cocos2d-xにおけるデータ管理
cocos2d-xにおけるデータ管理Tomoaki Shimizu
 

More from Tomoaki Shimizu (19)

Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
 
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
 
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
 
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
 
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
 
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
 
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
 
Cocos2d-x 3D Extension
Cocos2d-x 3D ExtensionCocos2d-x 3D Extension
Cocos2d-x 3D Extension
 
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDEcocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDE
 
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみたCocos Code IDEを使ってみた
Cocos Code IDEを使ってみた
 
cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点
 
タワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-xタワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-x
 
cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化
 
CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2
 
cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用
 
cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用
 
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
 
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
 
cocos2d-xにおけるデータ管理
cocos2d-xにおけるデータ管理cocos2d-xにおけるデータ管理
cocos2d-xにおけるデータ管理
 

cocos2d-xとネイティブ間の連携