cocos2d-xのサーバ連携について

16
cocos2d-xのサーバ連携について 株式会社TKS2 清水友晶

description

cocos2d-xのサーバ連携について

Transcript of cocos2d-xのサーバ連携について

Page 1: cocos2d-xのサーバ連携について

cocos2d-xのサーバ連携について

株式会社TKS2 清水友晶

Page 2: cocos2d-xのサーバ連携について

清水 友晶 �  株式会社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

Page 3: cocos2d-xのサーバ連携について

�  6/25発売 �  2,800円 + 税 �  400ページ

�  6/18発売 �  2,980円 + 税 �  312ページ

Page 4: cocos2d-xのサーバ連携について

�  http://cocos2d-x.jp

�  cocos2d-x開発元Chukong Technologies社公認

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

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

�  cocos2d-xに関することなら何でも投稿できます!!

�  https://www.facebook.com/groups/cocos2dxjp/

Page 5: cocos2d-xのサーバ連携について

�  9/19 第12回 shinjuku.cocos2d-x

�  10/11 第3回 cocos2d-x開発事例勉強会

�  10/17 shinjuku.cocos2d-x初心者ハンズオン     ~CocosBuilderを利用した開発の進め方~

�  10/24 第13回 shinjuku.cocos2d-x

�  11/M shinjuku.cocos2d-x初心者ハンズオン     ~cocos2d-xを利用したクロスプラットフォーム開発環境構築~

�  11/M 第13回 shinjuku.cocos2d-x

Page 6: cocos2d-xのサーバ連携について

目次 �  サーバとの通信

�  HTTPClientクラス �  libcurl �  WebSocketクラス

�  受信データ解析 �  XML �  JSON �  plist

Page 7: cocos2d-xのサーバ連携について

サーバ通信を 確認できるサービス

�  HTTP Request & Response Service �  http://httpbin.org

�  WebSocket.org Echo Test �  http://www.websocket.org

Page 8: cocos2d-xのサーバ連携について

HttpClientクラス �  一般的なHTTP通信を行うことができる

�  GET �  POST �  PUT �  DELETE

�  利用するクラス �  HttpClientクラス(シングルトン) �  HttpRequestクラス �  HttpResponceクラス

Page 9: cocos2d-xのサーバ連携について

HttpClientクラス �  リクエスト

�  HttpRequestクラス �  setUrl関数 �  setRequestType関数 �  setResponseCallback関数 �  setRequestData関数

�  HttpClientクラス �  send関数

�  http://goo.gl/xqFDoF

�  レスポンス �  HttpResponceクラス

�  getHttpRequest関数 �  getResponseCode関数 �  isSucceed関数 �  getResponseData関数

Page 10: cocos2d-xのサーバ連携について

libcurl �  クライアントサイドURL転送ライブラリ

�  データ受信中の状態も判断可能 �  ダウンロード済み容量の取得 �  プログレスバーの表示が可能

�  個別にスレッドを分けて利用することが望ましい

Page 11: cocos2d-xのサーバ連携について

WebSocketとは �  Web Socketsの優位性

参考: http://www.websocket.org/quantum.html

Page 12: cocos2d-xのサーバ連携について

WebSocketクラス �  WebSocketを利用するクラスにおいて、WebSocket::Delegateクラスを継承する �  onOpen関数 �  onMessage関数 �  onClose関数 �  onError関数

�  WebSocketクラス �  init関数 �  send関数 �  close関数

�  http://goo.gl/ws8Y5X

Page 13: cocos2d-xのサーバ連携について

XML �  TinyXMLをサポートしている

�  support/tinyxml2/tinyxml2.h

�  XMLのパース �  XMLDocumentクラス

�  XMLの要素 �  XMLElementクラス

�  XMLの属性 �  XMLAttributeクラス

�  http://goo.gl/OcPPbk

Page 14: cocos2d-xのサーバ連携について

JSON �  JSONファイルを読み込んでいるspineが正式にサポートされたことにより、標準でJSONを読み込むことが可能になった �  Json.h(spine/Json.h)

�  JSONのパース �  Json_create関数

�  値・配列の取得 �  Json_getString関数 �  Json_getInt関数 �  Json_getItemAt関数

�  http://goo.gl/m72MvN

Page 15: cocos2d-xのサーバ連携について

plist �  取得したplistデータをArrayクラスやDictionaryクラスへ容易に展開できる �  Array::createWithContentsOfFile関数 �  Dictionary::createWithContentsOfFile関数

�  http://goo.gl/blDPw4 �  上記関数がファイルから読み込むものであるため、本コードにおいても一旦ファイル保存を行っている。本来plistファイルのみをダウンロードして読み込むような利用方法は適切ではない。ダウンロードしたzipファイルに含まれる設定ファイルなどとして利用されることが望ましい。

Page 16: cocos2d-xのサーバ連携について

おわり

�  ご清聴ありがとうございました。