cocos2d-x で PlugAir を 使えるようにしてみた

16
cocos2d-x で PlugAir を 使えるようにしてみた Beatrobo, Inc. 竹井英行 第6回cocos2d-x勉強会 LT / Jul. 30, 2014

description

PlugAirを使ったゲームを作りたくて、PlugAir SDK を cocos2d-x から使えるようにしたくて…!そんなcocos2d-xとObjeCネイティブ連携のお話。

Transcript of cocos2d-x で PlugAir を 使えるようにしてみた

Page 1: cocos2d-x で PlugAir を 使えるようにしてみた

cocos2d-x で PlugAir を 使えるようにしてみた

Beatrobo, Inc. 竹井英行

第6回cocos2d-x勉強会 LT / Jul. 30, 2014

Page 2: cocos2d-x で PlugAir を 使えるようにしてみた

Agenda

• PlugAirとは?! • cocos2d-xとネイティブ(ObjC)の連携方法 • 実機デモ • 実装コード解説

Page 3: cocos2d-x で PlugAir を 使えるようにしてみた

環境

• 最新版を使用 • Cocos2d-x v3.2 • (Cocos Studio v1.5.0.1)

Page 4: cocos2d-x で PlugAir を 使えるようにしてみた

PlugAirとは?!• iPhone, Androidのイヤホンジャックに挿すと、PlugAirの中に入っている音楽や動画をすぐに視聴できる

• PlugAirの中身はシリアルナンバーと 認証機構が入っている”カギ”

• イヤホンの音声出力とマイクでデータ通信を行っている

• http://plugair.com

Page 5: cocos2d-x で PlugAir を 使えるようにしてみた

PlugAirでゲームしたい!

•まずはPlugAirを挿せばロボットが出現するものを作りました!

• PlugAirをiPhoneに挿すとシリアル ナンバーがすぐに受信

• シリアルナンバーとロボットが対応 • Objective-Cで実装されたPlugAirのAPIをcocos2d-xのcppから操作・イベントハンドリング

①初期化

②挿す

③シリアルナンバー受信

Page 6: cocos2d-x で PlugAir を 使えるようにしてみた

cocos2d-xとObjCの連携方法

PlugAir API (ObjC)

cocos2d-x (cpp)ロボット表示PlugAir初期化

delegate設定delegate経由で シリアルナンバー

Page 7: cocos2d-x で PlugAir を 使えるようにしてみた

デモ

Page 8: cocos2d-x で PlugAir を 使えるようにしてみた

コードの構成iPhone

PlugAirBridge.h

PlugAirBridge.mm

HelloWorldScene.cpp

PlugAirBridge_objc.hPlugAirBridge_objc.m

BISoftModem API

Page 9: cocos2d-x で PlugAir を 使えるようにしてみた

PlugAirBridge.h

Page 10: cocos2d-x で PlugAir を 使えるようにしてみた

PlugAirDelegate.h

Page 11: cocos2d-x で PlugAir を 使えるようにしてみた

PlugAirBridge.mm

Page 12: cocos2d-x で PlugAir を 使えるようにしてみた

PlugAirBridge_objc.h

Page 13: cocos2d-x で PlugAir を 使えるようにしてみた

PlugAirBridge_objc.mm

・・・

・・・ BISoftModemの実装

Page 14: cocos2d-x で PlugAir を 使えるようにしてみた

HelloWorldScene.cpp

・・・・・・

Page 15: cocos2d-x で PlugAir を 使えるようにしてみた

ARCなライブラリのとき• cocos2d-xのプロジェクトはARCがOFF • 「Build Phases」にてライブラリのソースコードに   -fobjc-arc を適用することで一部ファイルのみ ARC有効にできる

Page 16: cocos2d-x で PlugAir を 使えるようにしてみた

ありがとうございました