Coccos2d-x v3.6 c++ 自分用メモ
2015年6月8日月曜日
2015年5月29日金曜日
2015年5月27日水曜日
[Cocos2d]Cocos2dをちょっとやってみた感想
開発環境はmac mini 2014、Core i5 2.5G、メモリー 8G
複数のデバイスサイズに対応させるにはややコーディングが必要
Cocos2dには種類が大量にあるが、プラットフォームが多くリリースされた理由はこちらのサイトを見れば分かる
miyahiraブログ - cocos2dの歴史をまとめてみた。
http://blog.miyahira.me/2014/11/cocos2dcocos2d-x-cocos2d-iphone-
cocos2d.html
Cocos2d-Xを触ってみた感想
・初回ビルドに時間がかかる(Xcode C++ シミュレーターだと2回目以降は5~15秒程度)
・Xcodeが使える
・iOS+Xcodeでシミュレータの立ち上げに失敗することがある(これはNative Xcode開発でも同じか?)
・サンプルが多い特にLuaだと中華系サイトに大量にある
Cocos2d-x v3 C++ Tutorial Series
https://www.youtube.com/playlist?list=PLRtjMdoYXLf4od_bOKN3WjAPr7snPXzoe
動画数53本とかなり多いがこれを全部みれば基本が分かる
youtubeの説明のリンクからGithubのコードが見れる
Cocos2d-JSを触ってみた感想
・JavaScriptなので習得が用意
・Webだとファイルを保存するだけで実行可能で、トライ&エラー手法で短期間に色々試せる
・iOS、Androidへのビルドは非常に長い、初回の空プロジェクトでも3~5分はかかる
・v2.xとv3.xだと挙動や呼び出しが違うので注意する必要がある
・v3.xのサンプルや情報が少ない
・公式のリファレンスやガイドだけでは作りにくい
Cocos2dの別プラットフォームをやっている人ならすんなり入れると思うが、
いきなりやるにはちょっと情報が少なすぎる
参考にしたサイト
公式リファレンス
http://www.cocos2d-x.org/reference/html5-js/V3.6/index.html
公式サンプル
http://cocos2d-x.org/js-tests/
v2.xのサンプルが混ざっているので注意
Cocos2d-js(v3系)のチュートリアルまとめ
http://qiita.com/hp0me/items/55b784e9c616c52cab43
JavaScript の超便利なメソッド bind で this を制御する
http://foreignkey.jp/archives/763
.bind(this)について
JavaScriptのthisはObjective-CやJavaとは違った動きをすることがあるので
thisの扱いは覚えておいた方がいい
- Cocos2d-x 3.6
C++またはLua
iOS、Android、Windows Phone 8に書き出し可能
LuaならCococsが用意したEclipseベースのCode IDEが使用できる
- Cocos2d-JS 3.6.1
Javascript
iOS、Android、Web(WebGL)に書き出し可能
Cococsが用意したEclipseベースのCode IDEが使用できる - Code IDE v1.2
Lua、JavaScriptでCocos2dを使用するときに使えるIDE基本的な機能は入っている - Cocos v2.2
UIエディターやアニメーションエディター、プラットフォームのダウンロード機能などが含まれたCococsの補助ツール
今のところイマイチ
複数のデバイスサイズに対応させるにはややコーディングが必要
Cocos2dには種類が大量にあるが、プラットフォームが多くリリースされた理由はこちらのサイトを見れば分かる
miyahiraブログ - cocos2dの歴史をまとめてみた。
http://blog.miyahira.me/2014/11/cocos2dcocos2d-x-cocos2d-iphone-
cocos2d.html
Cocos2d-Xを触ってみた感想
・初回ビルドに時間がかかる(Xcode C++ シミュレーターだと2回目以降は5~15秒程度)
・Xcodeが使える
・iOS+Xcodeでシミュレータの立ち上げに失敗することがある(これはNative Xcode開発でも同じか?)
・サンプルが多い特にLuaだと中華系サイトに大量にある
Cocos2d-x v3 C++ Tutorial Series
https://www.youtube.com/playlist?list=PLRtjMdoYXLf4od_bOKN3WjAPr7snPXzoe
動画数53本とかなり多いがこれを全部みれば基本が分かる
youtubeの説明のリンクからGithubのコードが見れる
Cocos2d-JSを触ってみた感想
・JavaScriptなので習得が用意
・Webだとファイルを保存するだけで実行可能で、トライ&エラー手法で短期間に色々試せる
・iOS、Androidへのビルドは非常に長い、初回の空プロジェクトでも3~5分はかかる
・v2.xとv3.xだと挙動や呼び出しが違うので注意する必要がある
・v3.xのサンプルや情報が少ない
・公式のリファレンスやガイドだけでは作りにくい
Cocos2dの別プラットフォームをやっている人ならすんなり入れると思うが、
いきなりやるにはちょっと情報が少なすぎる
参考にしたサイト
公式リファレンス
http://www.cocos2d-x.org/reference/html5-js/V3.6/index.html
公式サンプル
http://cocos2d-x.org/js-tests/
v2.xのサンプルが混ざっているので注意
Cocos2d-js(v3系)のチュートリアルまとめ
http://qiita.com/hp0me/items/55b784e9c616c52cab43
JavaScript の超便利なメソッド bind で this を制御する
http://foreignkey.jp/archives/763
.bind(this)について
JavaScriptのthisはObjective-CやJavaとは違った動きをすることがあるので
thisの扱いは覚えておいた方がいい
2015年4月20日月曜日
[iOS]iTunes Store operation failed "You are not authorized to use this service"
App Storeへアプリを販売可能にするため、XcodeからOganaizerを使用してアプリをアップロードしたところ以下のエラーが発生した。
iTunes Store operation failed
You are not authorized to use this service
(あなたはこのサービスを使用する許可が無い)
stackoverflowによると
http://stackoverflow.com/questions/28248496/you-are-not-authorised-to-use-this-service-itunes-app-upload-error
解決法:XcodeのiOS Developerのアカウントをリログする
http://stackoverflow.com/questions/28553827/itunes-store-operation-failed-you-are-not-authoried-to-use-this-service
Appleのサービスがで問題が発生しているのでアップロードできない
2つの回答があったが、どちらにも該当しなかった。
解決方法は「iTunes ConnectとiOS Developerのアカウントは同じアカウントを使用する」だった。
というのもiOS3.xのころはiTunes ConnectとiOS Developerは別々のアカウントを作る必要があったが、iOS8(Xcode6)ぐらいから別々のアカウントではアプリのアップロードができなくなったっぽい。
Application Loader 2.9.1を使用すれば別々のアカウントでもできるが
Application Loader 2.9.1の使用は推奨されてないので別の問題が発生する可能性がある
https://itunesconnect.apple.com/apploader/ApplicationLoader_2.9.1.dmg
iTunes Store operation failed
You are not authorized to use this service
(あなたはこのサービスを使用する許可が無い)
stackoverflowによると
http://stackoverflow.com/questions/28248496/you-are-not-authorised-to-use-this-service-itunes-app-upload-error
解決法:XcodeのiOS Developerのアカウントをリログする
http://stackoverflow.com/questions/28553827/itunes-store-operation-failed-you-are-not-authoried-to-use-this-service
Appleのサービスがで問題が発生しているのでアップロードできない
2つの回答があったが、どちらにも該当しなかった。
解決方法は「iTunes ConnectとiOS Developerのアカウントは同じアカウントを使用する」だった。
というのもiOS3.xのころはiTunes ConnectとiOS Developerは別々のアカウントを作る必要があったが、iOS8(Xcode6)ぐらいから別々のアカウントではアプリのアップロードができなくなったっぽい。
Application Loader 2.9.1を使用すれば別々のアカウントでもできるが
Application Loader 2.9.1の使用は推奨されてないので別の問題が発生する可能性がある
https://itunesconnect.apple.com/apploader/ApplicationLoader_2.9.1.dmg
2015年4月9日木曜日
[Titanium Mobile]Android モジュールを作成 3.5.1GA
・環境
Titanium Studio, build: 3.4.1.201410281727
Titanium SDK 3.5.1GA
公式のAndroidモジュールの作成方法
手順は簡単で
・Android NDKをTitanium Studioにリンクする
・Titanium StudioにJDKのインストールする
の2つしか無い、が予想外のところでエラーが発生するのでかなり時間がかかった
- Android NDKをTitanium Studioにリンクする現在Android NDKは10aまであるがTitanium Stadioではr8bが安定して動作するようだTitanium Devloperのマニュアルでは10を使っているが罠かもしれないAndroid NDKのダウンロードリンクダウンロード後適当なフォルダに展開しTitanium Studio -> Preferences -> Studio -> Platforms -> Android -> Android NDK HomeをAndroid NDKに設定するプロジェクトのBuild.propertiesにandroid.ndk=/Users/[User Name]/Documents/AndroidNDK/android-ndk-r8bをを追加する
- Titanium StudioにJDKのインストールする
Help -> Check New SoftwareからEclipse Kepler releaseを設定しProgramming Languages ->Java Developer Toolsをダウンロードするこの後再起動を求められるので再起動する - ビルド方法Project Exploerからandroid -> build.xmlを右クリックRun - >Antを実行
プロジェクト名を右クリック -> Publish -> Packageでビルドできる
Titaniumプロジェクトにモジュールを追加した状態で
モジュールを更新後AntとPublishをしてもTitaniumプロジェクトが反映されない場合は、tiapp.xmlからモジュールを外すか、modules -> androidフォルダ配下のモジュールを削除すると更新される場合がある。
エラー処理
BUILD FAILED
/Users/[User name]/Library/Application Support/Titanium/mobilesdk/osx/3.5.1.GA/module/android/build.xml:354: The following error occurred while executing this line:
/Users/[User name]/Library/Application Support/Titanium/mobilesdk/osx/3.5.1.GA/module/android/build.xml:356: There is discrepancy between the architectures specified in manifest and compiled binary.
決定的な解決方法が見つからなかったがTitanium Studioを再起動すると治ることもある
BUILD FAILED
/Users/[User name]/Library/Application Support/Titanium/mobilesdk/osx/3.5.1.GA/module/android/build.xml:461:
/Users/[User name]/Documents/Titanium_Studio_Workspace/modulesample/android/build/docs does not exist.
プロジェクトの
android -> Build
にdocsというフォルダを新規に作成する
java.lang.IllegalArgumentException: already added: Lcom/sample/library/libraryClass$1;
ライブラリにあるクラス名が競合している。
java.lang.IllegalArgumentException: already added: Lcom/sample/library/libraryClass$1;
ライブラリにあるクラス名が競合している。
2015年4月2日木曜日
[Titanium Mobile]MACでTitanium Android Moduleを作成する
Titanium Studio, build: 3.1.3 の記事なので最新版では動作しないかもしれません
新しい記事はこちら
[Titanium Mobile] Android モジュールを作成 3.5.1GA
https://www.blogger.com/blogger.g?blogID=2518627692473629903#allposts
・モジュールの作成
File>New>Mobile Module Project
項目を入力
hogeProxy.javaなどを編集
・コンパイル
build.properties
android.ndk=/Users/[user name]/android-ndk-r8
ndkのパスを追加
android NDKが入ってない時は追加する
http://developer.android.com/intl/ja/tools/sdk/ndk/index.html
Android NDKを触ってみる
http://qiita.com/alingogo/items/203477c9da373ab7eacb
build.xmlを右クリック
Run>Ant
を実行
プロジェクト名を右クリック>Publish>package
Output LocationがTitaniumSDKの場合
/Users/[user name]/Library/Application Support/Titanium/modules
に配置される。
Mobile Projectは開いているプロジェクトにModuleを直接配置し、
対象のTiApp.xmlに自動で追加される
・モジュールのインポート
TiApp.xml>module>"+"ボタンで追加することができる。
※モジュールをTitaniumプロジェクトに更新するときは
TiApp.xmlから更新するプロジェクトを"-"ではずさないと更新されないらしい
新しい記事はこちら
[Titanium Mobile] Android モジュールを作成 3.5.1GA
https://www.blogger.com/blogger.g?blogID=2518627692473629903#allposts
・モジュールの作成
File>New>Mobile Module Project
項目を入力
hogeProxy.javaなどを編集
・コンパイル
build.properties
android.ndk=/Users/[user name]/android-ndk-r8
ndkのパスを追加
android NDKが入ってない時は追加する
http://developer.android.com/intl/ja/tools/sdk/ndk/index.html
Android NDKを触ってみる
http://qiita.com/alingogo/items/203477c9da373ab7eacb
build.xmlを右クリック
Run>Ant
を実行
プロジェクト名を右クリック>Publish>package
Output LocationがTitaniumSDKの場合
/Users/[user name]/Library/Application Support/Titanium/modules
に配置される。
Mobile Projectは開いているプロジェクトにModuleを直接配置し、
対象のTiApp.xmlに自動で追加される
・モジュールのインポート
TiApp.xml>module>"+"ボタンで追加することができる。
※モジュールをTitaniumプロジェクトに更新するときは
TiApp.xmlから更新するプロジェクトを"-"ではずさないと更新されないらしい
2015年3月29日日曜日
[AndroidSDK]Error:Execution failed for task ':app:dexDebug'.
Android StudioでEclipseで作られたAndroidプロジェクトをインポートしたところ以下のエラーが発生した。
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java''
finished with non-zero exit value 2
このログにある
Execution failed for task ':app:dexDebug'.
というエラーの原因は複数ある
EclipseからAndroid Studioのせかえ時のgradle対応でハマったエラーまとめ
http://qiita.com/konifar/items/dbbbfd94ad103239c627
Android Studio: Gradle - build fails — Execution failed for task ':dexDebug'
http://stackoverflow.com/questions/18021901/android-studio-gradle-build-fails-execution-failed-for-task-dexdebug
今回こちらで発生したエラーは
試験用と本番用2つの*.jarのライブラリに同名のクラスがあったため発生した。
重複クラスがあるライブラリのうち1つをgradleファイルから外して解決した
このエラーが発生した時はライブラリを見なおしてみると良い
例
dependencies {
// compile files('libs/samplelib_testing.jar')
compile files('libs/samplelib.jar')
}
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java''
finished with non-zero exit value 2
このログにある
Execution failed for task ':app:dexDebug'.
というエラーの原因は複数ある
EclipseからAndroid Studioのせかえ時のgradle対応でハマったエラーまとめ
http://qiita.com/konifar/items/dbbbfd94ad103239c627
Android Studio: Gradle - build fails — Execution failed for task ':dexDebug'
http://stackoverflow.com/questions/18021901/android-studio-gradle-build-fails-execution-failed-for-task-dexdebug
今回こちらで発生したエラーは
試験用と本番用2つの*.jarのライブラリに同名のクラスがあったため発生した。
重複クラスがあるライブラリのうち1つをgradleファイルから外して解決した
このエラーが発生した時はライブラリを見なおしてみると良い
例
dependencies {
// compile files('libs/samplelib_testing.jar')
compile files('libs/samplelib.jar')
}
登録:
投稿 (Atom)