cocos2d-xSNSへ画像を投稿

Pocket

くまのがっこう神経衰弱バトル

くまのがっこう神経衰弱バトルのSNS投稿の作り方をご紹介します。スコアとランクとアイテムを画像にしてTwitterへ投稿しています。Lineはテキストのみ。FacebookはSDKを入れないと投稿できないようでしたので今回は見送っています。

sns

iOS、Androidとネイティブ連携をする為に以下の3つのファイルを追加します。

SnsLauncher.h (iOS、Android共通のヘッダーファイル)

SnsLauncher.mm (iOSのネイティブ連携用のファイル)

SnsLauncher.cpp (Androidのネイティブ連携用のファイル)

SnsLauncher.cppはiOSのビルドの対象にしないために、ファイルを追加する際にAdd to targetsのチェックを外してください。

snsXcode

次に投稿する画像を生成してSnsLauncherを呼び出すところです。

HelloWorldScene.h

HelloWorldScene.cpp

ここでの注意点はテクスチャに画像を追加する際にretain()するかどうかです。この実装ではretain()するとメモリリークを起こしたのでretain()しませんでした。必ずXcodeのデバッグナビゲータを使ってメモリの使用状況を確認しましょう。

 

iOSの場合はSocial.frameworkを追加すれば完了です。

socialFw

 

Androidの場合は以下の設定を追加します。

proj.android/jni/Android.mk

proj.android/src/org/cocos2dx/cpp/AppActivity.java

今回は処理をAppActivity.javaに直接書きました。AppActivity.javaを継承するクラスを作るやり方もネットで紹介されていますので調べてみてください。

Twitterなどの他のアプリケーションと画像ファイルを共有する為にFileProviderの設定を追加します。

proj.android/AndroidManifest.xml

android:authorities=”com.gameshonen.hello.fileprovider” を自分のアプリケーションのpackage名.fileproviderへ書き換えてください。

proj.android/res/xml/filepaths.xml を新規に追加します。

 

android-support-v4.jarをリンクして使えるようにします。一番簡単な方法はsdk/extras/android/support/v4/android-support-v4.jarをproj.android/libsへコピーすると使えるようになります。

Pocket

投稿者: Kei Osumi

GAME SHONENのプログラマー

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です