【cocos2dx】JSONを利用してサーバーと通信する。

【cocos2dx】JSONを利用してサーバーと通信する。
   

サーバーと通信をする際によく使われるデータ形式の1つに「JSON」があります。
これを使って、APIやサーバー上のデータとやりとりができるようになります。
今回は、cocos2dxで、「JSON」を利用する方法を紹介したいと思います。

XMLを使って通信をする場合はこちら

【cocos2dx】XMLを利用してサーバーと通信する。 | albatrus.com

準備 – picojson

今回は「picojson」を利用してJSONの解析をおこないます。
Github : kazuho/picojson

まずは、こちらから「picojson.h」をダウンロードして下さい。

プロジェクトに追加

ダウンロードをしていただい「picojson.h」を、cocos2dxのプロジェクトに追加します。
2014-6-11-fdsasa

これを読み込んで利用をします。

Android側でのエラー対応

Eclipseでビルドをすると3つのエラーが出ます。
これを解消させる必要があります。


コードを以下のように変更します。
これでエラーが出なくなり、上手く動作するので多分大丈夫だと思います。


準備2 – libcurl

libcurlを利用して、サーバーと通信をおこないます。

パスの設定 – Xcode

まずは[Build Settings]->[Search Paths]->[Header Search Paths]に以下のパスを設定して下さい。

2014-6-11-dddsas


パスの設定 – Android.mk(Eclipse)

Android側でも、libcurlが使えるようにします。
これは、Android.mkに下記のように記述をします。


準備 – 読み込むJSONファイル

アプリで読み込む、JSONファイルを作成します。


これをサーバーに設置します。
今回はDropboxを利用しました。

実装

JSONファイルの値を取り出すコードを書きました。
cocos2dxのレシピ本」を参考にしています。



実際の利用する際にはgetJsonValue()にJSONファイルのURLを指定して下さい。


最後に

私がJSONなりXMLでサーバーと通信した理由は、アプリをアップデートしなくてもゲーム内容を変える仕組みが欲しかったからです。
とは言いましても、やりたい事は「広告の媒体の配信率を変える」ことです。
これは今色々なサービスがあるのですが、広告の媒体が限られているので、これを思い通りにできないかと考えています。

いかがでしたでしょうか?
サーバ関係、JSONについてはこれまで触ったことがなかったので、コードなど不安です。
もし、もっと良い方法等あれば教えていただけると嬉しいです。

Cocos2d‐x開発のレシピ―iOS/Android対応Cocos2d‐x開発のレシピ―iOS/Android対応
松浦 晃洋,齊藤 建二,古木 映治

秀和システム
売り上げランキング : 45730

Amazonで詳しく見る

Related Posts Plugin for WordPress, Blogger...