cocos2d-x Part2 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
void cObj::Act(string arg)をCallFuncを使ってrunActionで遅延をかけて実行したいんだけど、
CC_CALLBACK_1のあたりでエラーが出てしまう
どう書けば思った通りに動きますかね
{
string arg;
auto callFunc = CallFunc::create(CC_CALLBACK_1(cObj::Act, arg));
CCDelayTime* delay = CCDelayTime::create(5);
auto seq = Sequence::create(delay, callFunc, nullptr);
runAction(seq);
}
void cObj::Act(string arg) {
} callfuncであとから実行するという事はstring arcは実行するときには既に呼び出し時の関数から抜けて消えてしまっているので他の方法で保存しておかないと参照できない。
エラーになるのは書式を間違っているから。Node*senderでプロトタイプ宣言した関数しか使用できないのでは。 あまり綺麗じゃない気がしますが、CallFuncの部分をこうして一応動かせました
CallFuncNのNがNodeのことだからCallFuncはノードはいらないと思ってたんですが、
コールバック自体を任意の型にすることは出来ないんですかね?
auto callFunc = CallFunc::create([this, arg](){
Act(arg);
}); CC_CALLBACKはbindをラップしてるだけだから実行時のstringはargのコピーになると思う
CC_CALLBACK_Nの数字って作成時に渡す引数の数じゃなくて実行時に呼び出し元から渡される引数の数じゃなかったっけ
CALLBACK_0にしたら直らない? すくなくとも>>650を単純にCC_CALLBACK_0にするだけだとno matching overloaded functionfoundのエラーが出ます auto callFunc = CallFunc::create(CC_CALLBACK_0(cObj::Act, this, arg));
何日も躓いていた問題が、こんなシンプルに解決出来るとは。ありがたいです。
逆引きガイドブックにも「CC_CALLBACK_Nは引数がN個の関数を呼び出すときに使う」
って書いてあるけど、これは間違いなんですか?
CC_CALLBACKとかCallFuncとかで検索かけまくっても、「実行時に呼び出し元から渡される引数の数」
という説明がされてたページは一つも見なかった… 間違いというか引数のバインドを想定してないんじゃないの
マクロの中身はそんな複雑じゃないから迷ったらソース見るのが手っ取り早いよ 以下のように、HttpRequest を使って、サーバにアクセスしています。
Win/Android では正常に動作するのですが、iOS では
cocos2d::network::HttpRequest* request = new cocos2d::network::HttpRequest();
string str = "http://google.com/";
request->setUrl(str.c_str());
request->setRequestType(cocos2d::network::HttpRequest::Type::GET);
request->setResponseCallback( [this](network::HttpClient* sender, network::HttpResponse* response) {
if ( response )
m_label->setString(to_string(response->getResponseCode()));
} #すみません、間違って途中で【書き込む】を押してしまいました。
以下のように、HttpRequest を使って、サーバにアクセスしています。
Win/Android では正常に動作するのですが、iOS では response->getResponseCode() が -1 を返します。
どこか間違いがあるのでしょうか?それとも何かiOSでの設定が必要なのでしょうか?
cocos2d::network::HttpRequest* request = new cocos2d::network::HttpRequest();
string str = "http://google.com/";
request->setUrl(str.c_str());
request->setRequestType(cocos2d::network::HttpRequest::Type::GET);
request->setResponseCallback( [this](network::HttpClient* sender, network::HttpResponse* response) {
if ( response )
m_label->setString(to_string(response->getResponseCode()));
}
request->setTag("GET");
cocos2d::network::HttpClient::getInstance()->send(request);
request->release(); 皆アンドロのエミュはやっぱGenymotion使ってます?
その場合androidstudioはインストールしなくて大丈夫でしょうか?コーディングは秀丸でやれたら秀丸でやりたい。
インストール設定時間かかりそうなので明日やろう。 >>659
試してみたけどhttpのアクセスがブロックされてるってログ出てる
info.plistを修正するかhttpsならアクセス出来るって
詳しくはios atsで検索 >>661
> 試してみたけどhttpのアクセスがブロックされてるってログ出てる
> info.plistを修正するかhttpsならアクセス出来るって
> 詳しくはios atsで検索
ご教授ありがとうございます。
Info.plist を修正し、無視するドメインを指定することで、問題を回避できました。 >>660
秀丸で開発とか
苦行をあえて選ぶのは愚か >>660
ビルドやデバッグどうすんの?
antとgdb? オブジェクトが削除されるわけでもないのに、runActionが有効なオブジェクトと効かないオブジェクトがあるのはなぜ? スマホでは動くのに、タブレットだと起動した瞬間エラーで落ちるのって、どんな原因が考えられる?
テンプレートのままだと動くとはいえ、1つずつ機能追加して起動テストしていくのは気が遠くなる・・・ エミュだとどうなるの?
それか実機でUSBデバッグしてみるか 最初のシーンを何も表示せず処理もしないようにしてもエラーで落ちる
android-studioでの実機デバッグは、元々スマホでも動かないな >>670
エラーの詳細くらい書いた方が良いですよ。 「問題が発生したため、◯◯を終了します。」
ってだけで何の情報もないからなあ >>670
「スマホだと動くけどタブレットで動かない」という前提と違ってきてるね。
ファイルが読み込めないとかだったらデバッグログにでるでしょ。それ見るしかないんじゃないかな。 今まで敬遠してたけどeclipseから実機デバッグ出来る環境くらいなくては話にならないということでやってみたところ、
E/AndroidRuntime(27725): java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1286]: 161 cannot locate 'srand'...
というエラーが原因で落ちているようでした。
で、調べたところ、
http://shakezoomer.com/?p=879
にあるように、
「Application.mkでAPP_PLATFORM := android-9を指定する」
という方法で解決出来ました。 > 今まで敬遠してたけどeclipseから実機デバッグ出来る環境くらいなくては話にならないということでやってみたところ、
なんだそれ >>666の続きです
タブレットではエラーで落ちなくはなったけど、画面が真っ暗な状態(スマホではタイトル画面は表示される)
テクスチャは幅1200弱なので関係なく、
Androidのバージョンは4.0.4でminSdkVersionなどの問題もないはず
ちなみにARROWS Tab F-05E(2012年製)
eclipseのログにErrorは無し
お手上げ状態です。 真っ暗という事はどこまで制御が進んでるかも分からないという事なのかな。
一番最初に表示される画面で一つ一つ表示処理をコメントアウトして確認するかステップ実行してみるしかないのでは。 jniでのAppActivity.java内の
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//←ここ
tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
me = this;
}
のloadLibrary内でのnativeLoad("cocos2dcpp")で、
>>674と同じCannot load library: reloc_library[1286]: 161 cannot locate 'srand'...のエラーが発生しているようです。
解決したつもりでしたが、プログラムが強制終了されなくなった代わりに中断されていました。
また、sdkバージョンのターゲットを変更しても同じ結果でした。 Cocos Creatorなるものがリリースされてるのにツイッターで誰も反応がない・・・
unityみたいになってるん・・・ > Cocos Creatorなるものがリリースされてるのにツイッターで誰も反応がない・・・
おまえのツイートに対する反応のことなんかどうでもいい
かまってちゃんうぜー バージョン1にもなってないし、今はDeveloper登録してないと起動できないから、
気にはしてても話題にするほどではないんじゃね >>682
cocosの本家すら見てないの?君cocos使ってないでしょw COCOS CREATOR使ってみた人、いかがでしたかー?
やっぱもうcocosはJS推しなんかな perticle2dxで作ったパーティクルを白背景でもはっきり表示させる方法ある?
setOpacity設定したり、スプライト画像自体を暗くしたりしたけどうまくいかなかった この本去年の夏から何度も延期してたけどやっと出たか。
cocosのバージョンがどうなってるか気になるので教えてプリーズ! Amazonで注文しました、今日届くので手に入ったらいろいろお伝えします。
出版社のサイトにサンプルのソースダウンロードありました。cocos run -p webできたので、どんなアウトプットなのか試すこともできるかと。
http://www.shoeisha.co.jp/book/detail/9784798141589 clionで開発してる方いますか?
だいぶ前にwindows版の試用したけど、動かせなかったので今はmacでxcodeだけど、
使いやすいのであればまたチャレンジしてみます JSで書いた時ユニットテストどうしてる?
何かいいテストフレームワークあるかな、Jasmineとか? >>692
たまたま本屋で見掛けたけど真ん中辺りのページで hello world が出てきたのでそっと本棚に戻した。 俺も立ち読みした。
かなり初心者向けというは確かに感じたけどCocoStudioで作成したデータを流し込む所が丁寧に説明されてるのとParticle2dの説明があるところはいいんじゃないかなと思った。 cocos2d-JSでパズルRPGゲームをつくる本って・・・
どの層を狙っているのかわからん、売れないでしょうに ダウンロードしたサンプルアプリはなかなかだと思ったけど、いかが?
ソース読んで勉強できる人は本買わなくてもダウンロードしたソース読めばいいじゃん、と思ったけどアレだよな CLionでcocos2d-xの開発をしたいんだが環境が作れない無能なんだが、
CMake Tools for Visual Studioって何かの役に立つんだろうか?
https://visualstudiogallery.msdn.microsoft.com/6d1586a9-1c98-4ac7-b54f-7615d5f9fbc7 xamarin無料化でC#でも無料で開発できるようになったな 誰かそろそろcocos creatorの話をしてくれ! あれイマイチソースコードがどれかわからんのよな
リポジトリ整理してほしい >>706
Cocos2d-js使いがここには全然いないって事なんじゃね? PCゲーをスマホに移植しようと思って環境構築してみたけど、
なんかエラーになる、助けて。。
cocos run -p android
を実行するとcocos2dxのコンパイルはうまくいってその後
[aidl] aidl.exe E 5948 6272 io_delegate.cpp:102] Error while creating directories: Invalid argument
と出るがさっぱりわからんぞw
ちなヴァージョン
cocos2d-x-3.10
ndk-r9d
sdk-build-tool-24.0.0-preview ググってみろなんもわからんから
チュートリアル通りにやってInvalid argumentとか出たらどうしようもねーだろアホか 「cocos2d-x Error while creating directories: Invalid argument」で検索! SimpleAudioEngineではmidファイル使えるけど、AudioEngineでは使えないですか?
つまりmidファイルをplayEffectで再生する場合、再生時間や完了したかどうかを取得する方法はない? android・iPhoneで共用できる写真選択機能ってありますか?
それぞれ呼び出しコードを分けるしかないでしょうか。 VisualStudioのログ出力で、自分でCCLOGで出したログ以外を表示させない方法ってある? これでCCLOGだけ表示するようにしてあげるか自分だけ分かるようなキーワード付きで出力すればよいのでは。
http://hwada.hatenablog.com/entry/2012/02/11/224612 書き込んだあとにそれ気付いて試してみたけど、結局「プログラム出力」をオンにすると
「[20:40:36.00739- 3516] *****.exe ltc_game.cpp(2727) ActivityMonitorThread uFrames=300 time=5.000016 uFPS=59」
とかこんな感じのログが大量に出てきて使い物にならないんだよね
目印つけるにしても距離が空いてる時点で解決とは言いがたいし
cocos側で設定出来ないならどっちかというとVisualStudio寄りの問題になってくるかなー cclogの書き込み先がファイルになるようにlog関数作り変えたらいいんじゃない
ioのオーバヘッド発生するから多量にログ出すと処理落ちするかもしれんけど MoveByしてるSpriteをFollowしたら
FollowがMoveByより先に実行されてるっぽくて
1フレーム分ずれるんだけど、どうしたらいいんだろう >>721
それもやったんだけど、VisualStudioの出力に出せればダブクリですぐその場所に飛べるから、できれば出力にほしいログだけ出せるのがベストなんだよね Cocos-Sharpをやりたいと思ってるんだけど、チュートリアルがCocos2d-xに慣れてる人向けになっちゃっててさあ
手っ取り早くCocos2d-xの基礎だけ教えてくれるサイトなり書籍なりがあったら教えてくれないかな なんかcocor2dとは微妙にある機能ない機能が違うんだよな 3.10で、crtdbg.hの_CrtSetDbgFlag使ってメモリリーク検出すると、
初期状態のままで結構な量が出てくるんだけど、これってやり方どこか間違ってる? >709
aidl.exe Error while creating directories: Invalid argument
コレの件、解決した?
android/sdk/build-tools/24.0.0-previewを破棄したらコンパイルが通ったと書いてあった。
やってみたらその通りだった。 自己解決だろうと、解決したらその手順を残しておくのは常識なんだが… ですよね。本人じゃないけど、709の問題にぶちあたって検索してもこのスレッドしかでてこないのですよ これからcocos2d-jsでゲームというものを初めて作っていくからよろしくなお前ら
jsはここでええのか? ええで
お前が最初のcocos2d-jsユーザーや >>731
このスレしか出てこないって言ってるのに>>728で「書いてあった」ってどういうこと?
マジで本人?w >>735
本人だったらなんかお前に得があるのか? cocos2d ダウンロードしたいんだけど
鯖おちてないか HttpRequest::setResponseCallback(ccHttpRequestCallback)のサンプルが見つからないんだけど、どう書けば動く?
deprecated警告鬱陶しいから対応したいんだけどわからない・・・ >>740
http://stackoverflow.com/questions/36498503/aidl-exe-error-while-creating-directories-invalid-argument
ごめんごめん、既にスレを読んでなかった。↑ココに書いてあったのをやってみた。
日本語の検索結果だとこのスレしか出てこないので解決方法を見つけるのに苦労したってことね。
709とは違う人なんで709のヒトが解決してればいいんですけど はじめてでもよくわかる! Cocos2d-xゲーム開発集中講義
3.10対応とあるけどAndroidStudioが新しくなったせいかのか
環境設定がうまくいかない最初のHelloworldの火の玉の出る奴までいかないよ〜
これだから本はだめなんだ
しかし検索してもやり方が書いてある所は無いし
もう誰も使ってないんかな。。
前はコマンドプロンプトでcocos newで作り、cocos run -p androidで動いたんだが
それもエラーになってしまう 教えて欲しいならハッキリ言えよ
せめてどんなエラーが出てるか書けよ cocos2dxは使えないという結論になったので本はゴミになりました 質問の仕方もわからないお前には確かに使えないだろうな
それがわかっただけでもいい買い物だったろ cocos2dxの本はゴミということを教えてあげに来ましたので
質問では無いんだよ〜〜〜www
あと、cocosをインストールするとなぜかスタートアップにインストールされて
何してるか不安だしね!環境変数も書き換えられてアンインストールしても
スタートアップからは何故か消えない!流石中華! ■ このスレッドは過去ログ倉庫に格納されています