cocos2d-x Part2 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
参考書を見るとAndroidはどれもEclipseの環境構築方法が載ってるけど
Android Studioの説明がある本はないの?
Android StudioはCocos2d-2xと相性が悪くてEclipseを使うのがまだ主流とか? eclipseですら相性悪いからターミナルでやってるわ わかるは
cocos run -p android
これな >>105
eclipseだと昨日まで動いてたのに今日は動かないとかあったんだけど
ターミナルならすんなり動く事に最近気付いた ver3.6にしたらCSLoader.hがないのだけれど
どうすればいいのかしら・・・ 再生途中のパラパラアニメーションを最初からやり直したいのですが、やり方が分かりません。
誰か教えて下さい。
もう少し詳細に言うと、
sprite->runAction() に設定した Animate を最初のフレームから再生しなおしたいのです。 一回stopして、またrunしてもダメなんだっけ? setTag()でAnimate(もしくはAnimateのRepeatForever)のActionにタグつけておいて
stopActionByTag()でそのアニメーションだけ止めれば良くね?
ロードしたAnimateを使いまわしたいならretain()して別に保存しておかんとだけど CCAnimation *hoge = CCAnimation::create();
hoge->addSpriteFrameWithFileName("hogehoge1.png");
hoge->addSpriteFrameWithFileName("hogehoge2.png");
hoge->setRestoreOriginalFrame(true);
CCRepeatForever repeat = CCRepeatForever::create(CCAnimate::Create(hoge));
hoge->runAction(repeat);
こんなんじゃだめなんかい? cocos2dでOpenCVって使える?
iOS用のopencv2.framework入れるとlibpngのバージョン関係が原因なのか画像が表示できなくなるんだけど https://github.com/yangboz/petulant-octo-dubstep
githubでopencv使ってるやつ見つけたよ これ見てどこが悪いか調べたら?
連投すみません >>118
わざわざありがとうございます。でも、たぶんコードのミスじゃなさそうなんですよね。
opencv2.frameworkをXcodeのLink Binary With Librariesから外すとうまくいきますし。
あと、warningがでてて、
libpng warning: Application built with libpng-1.6.16 but running with 1.5.12
ってのがでてるんでなんかこれが悪いのかなって感じがするのですが cocos2d-xって全部のversionで1.6.x使ってるみたいだわw
似た問題がtangoSDKってのを使ってる人にもいて解決策はcocos2dxの使ってるlibpngなりをつかうんじゃなくて、
third party製ライブラリの使ってるほうをダイナミックじゃなくって静的リンクさせろとのこと
cocos2dx側のプロジェクトのプロパティー画面でopencvのlibpng参照するようにすればいいんじゃね
http://discuss.cocos2d-x.org/t/integration-issue-of-tango-sdk-with-cocos2dx-3-0-based-game-libpng-error-bad-parameters-to-zlib/18018 てきとーなこと書きすぎて恥ずかしくなったので自分でも環境作ってやってみたらできたよ。下のザラザラが何かよくわからんけど
http://imgur.com/t8YgyNj
下のコードをコピペした cocosのverは3.2, opencvはver3.0RC1のios用を使ったよ
http://blog.szmake.net/archives/845 >>122のはやっぱりうまくいくんですね。cocosStudioでUI設計したのが原因かも。
>>121ちょっとやってみます Android
Director::getInstance()->end()で終わるとき
Cocos2dxActivity.onDestroy()が呼ばれないのは俺だけ? 間違って2chscのほうに書き込こんでしまったので、こっちにも書き込みます。
以下の内容を実装したいのですが、可能でしょうか?
1、ボタンを押したら次の画面の作成を行う。ただし、作成に時間がかかる
2、時間がかかってる間、LoadingBarを出してどのくらいロードしたかを確認する
3、完了したらシーンを変えるためのボタンを表示し、シーン変更を行う。ボタンを押すまでは次のシーンには移行しない。 読み込み用のシーン作成して、そいつを作成に時間がかかるシーンのデリゲートにしてやればいいんじゃね texturecacheのaddImageAsyncとか使えばいいと思います レスありがとうございます。マルチスレッドでいけるとのことだったので下記のように実装してみたのですが
うまくいかないです。
std::thread th1 = std::thread([&]{
//floatValは外部変数で指定したもの。
//HeavySceneは引数を受け取れるようにし、参照型を渡す事で内部で値を変更する
Scene* scene = HeavyScene::createScene(&floatVal);
Director::getInstance()->getScheduler()->performFunctionInCocosThread([&](){
//メインスレッドにもどってreplace
Director::getInstance()->replaceScene(scene);
});
});
//スケジュールにより毎回floatValを監視。floatValの値によって現在のシーンにaddChildした
//プログレスバーのpercentを変更している
this->schedule(schedule_selector(HelloWorld::runProgress));
th1.detach();
なんか実行するといろいろなところでEXC_BAD_ACCESS起きてしまい思った動作しないです。 replaceSceneのタイミングとかHeavySceneをRetainしたげるとかそもそもfloatValueって変数を使うやり方自体が怪しいような 重いシーンってテクスチャの読み込みに時間がかかるとかじゃないの?
その場合はテクスチャーの非同期読み込みしつつメインでプログレスバー回すでいいはずだけど >>134
テクスチャの読み込みじゃなくて、ListViewにaddChildするのに時間かかるんですよね。大量のボタンをシーン作成時にlistViewにaddChildしているんで。
他に方法あればいいんですけどcocos2dx最近使い始めたばかりなので、何かあれば教えてください できるか知らないが表示する必要のあるものだけaddchildして他はlistをスクロールしたときにaddするとかじゃできんの >>136
画像ならいいけど、ボタンでそれやると違和感ありそうな ListViewはセルを最初に全部作っちゃうからでかいテーブルには向かないぞ
素直にTableView使えよ すいません。ListViewじゃなくてScrollViewでした。
>>138
ScrollViewもListViewと同じく全部最初に作る構造になってるのでしょうか そう。だから画面内のだけ生成するようにするには自分で作らないといけなくて結構大変かも
TableViewで代用できるならそっちのがいい >>140
いろいろ調べてみたんだけど、TableViewって一列しか作れない感じなの?
作ろうとしてたのが二列だったんだけど プログラミングにもジャグ配列という用語があってだね >>142
TableViewCellの中身をTableViewにするってことですか?
でも、そうすると片方スクロールしたらもう片方はスクロールしないような気がするんですが 1つのセルに2つボタンを置くという発想はでてこないのか Android StudioがC++に完全対応するって聞いたけど、Cocos2d-xにとって朗報?? >>144
>>143書きこんだあとに気づきました。実装したら、うまく動きました!
みなさんありがとうございます。 初心者です。
Follow::createでスクロール処理を行っている際に、画面のスクロールしないボタン(MenuItemImage)を配置したい場合、どのような実装が適切でしょうか?
モーダルにレイヤーを上から重ねれば実現できるとは思うのですが、もっと簡単に実装できるのではと。 3.7betaでcocos2djs統合だってさ
やったぜ。 Linux(Debian)のEclipseでcocos2d-x開発環境構を築してみたけど
Eclipseでゲームのビルドが出来ないからコマンドからビルドしてるんだけど
WindowsやMacでは普通にEclipseからビルドできるものなの? 運がいいとできるけどだいたいできないからターミナル安定 WindowsやMacでは VisualStudioとXcode使ってるからなあ
プロジェクトの作成だけはコマンドだけど やっぱりか、いろんな設定サイト(終いには中華の設定紹介動画)を参考にしても
一向にEclipseでビルドできないからそうじゃないかと思った
LinuxにはVSもXcodeもないからIDEからビルドは諦めたほうが良さそうだね 初心者です
cocos2d-x-3.2のセットアップ時にsdk、ndk、antの場所を間違えて入力してしまい
再度セットアップしようとしたところ既に入力済みとなっていて触れませんでした
どうすれば変更できるでしょうか osの種類とide書いた方がいいよ
macならbash_profileいじればたぶんいい >>157
隠しファイルまで確認していませんでした…
OSなどを書き忘れていたのも失礼いたしました
ありがとうございます cocos2dxそのもののバージョン管理ってどうやればいいの?
linux(Ubuntu)使ってます ターミナル使わずに直接android studioに組み込めたらいいのにな androidのナビゲーションバーうぜえ……
どうやって消すんじゃこれ…… immersive mode cocos2dxとかでググればハッピーになれそう
>>163 >>162
組み込むってどういうこと?
http://shakezoomer.com/?p=805
ここの説明ではAndroid Studioでビルドできてるけど。 >>165
Android Studioはさわったことないけど、直接これからプロジェクトの作成で
作ることができればいいということでは。
そのリンク先でも cocos new はターミナルで実行してるじゃない。 アレルギーとか関係なく、今の方式は初回のビルドに時間かかりすぎるだろ
スタティックなライブラリを作っておいてそっちを参照するようにしてるけど
これはcocos new で作成したcocos2d-x本体のソースのコピー部分は邪魔だよな。
こういうのはIDEごとのテンプレートで吸収できるはず。 質問です。
GitHubで他人のソース見てると、Classesフォルダの中に更にフォルダを作って
モジュール毎に分けてたりしますが、VS側であれはどうやっているのでしょうか?
ソリューションに反映されません。 XCodeだとコピーするチェックあるけどVSだとこのへんの操作がよくわからんので
いつも手動でフォルダ作って既存の追加や新規作成時にそこ指定してる フォルダ作るのは、プロジェクトメニューかソリューションエクスプローラーで
すべてのファイルを表示っての選ぶと右クリックの追加で作れるよ plist読み込む方法ggrとCCDictionary使う方法が出てくるんですが、使おうとするとxcodeに非推奨って言われます
これ代わりのクラスって__Dictionaryでいいんですか?
なんか使っていいのか不安になる名前なんですが ccついてるのは大体2.x系列の遺物 コレクションはSTLっぽい名前に変わったはず cocos2d::mapみたいに使ってた
3.4くらいまでの知識しかなくてその後はしらん CC〜みたいにファイルからplist(XML?)読み込んでパースしてくれるような機能ってもうないんですかね?
リファレンス見た感じだとMAPにはなさそうなんですが FileUtilsのgetValueMapFromDataってのが使ってるverにもあるのかしら
昔と変わってるからな >>176
getValueMapFromFileで行けました
ありがとうございます
ちなみにバージョンは3.3でした v2.2.6をEclipse介さずにAndroidに入れたいのですが、何か良い方法はありませんか。
デバッグの際になぜかLibcocos2D-Xの中身にまで怒ってきます。 v2.2.6で作ったゲームでした。
cocos run -p android
ような感じで手軽にできると楽なのですが・・ 自己解決しました。
数ヶ月ぶりに触ったので、Libcocos2dxがv3.4のものだったみたいです。 editbox使うと入力時改行できないんだが、なんとかならんかこれ ver3.6 CocosのサンプルコードをAndroid Studioでエミュレータを使って実行したのですが画像のように出て動作しません。実機でも同様でした。
http://imgur.com/AyUxkbS
又、ターミナルでcocos run -p androidをしたところ
Error: Activity class {com.mycompany.mygame/org.cocos2dx.cpp.AppActivity} does not exist.
と出てきます。原因の分かる方がいたら教えていただけないでしょうか。
Mac OSX Yosemite10.10
Android Studio 1.3.2
Cocos2d-x 3.8.1 >>183
別の問題かもしれないがCocos2d-x 3.8.1のHelloWorldはApplication.mkに
APP_PLATFORM := android-9
を追加して動くようになった。
ぐぐったらどっかに書いてあったのだがどこか忘れてしまった。 画像3枚を並べて背景スクロールをするときに、
スクロール速度をあげると、画像と画像の間に隙間ができてしまうことがある。
もちろん画像の位置は正確に入力されてる。
皆さん、この問題にどうやって対処されてますか? 継ぎ目は余白持つようにしてる
あと、アクション分けてると同一フレームでの一貫処理が保証されないんじゃなかったかな。テストケースなくてごめん もしできるんなら、画像少し伸ばしてZOrderいじって下に差し込んどくとか Javascript派になりたいのだけど良い参考サイトか書籍ってありますか? そういえばcocos2d-xをターゲットにしたjavascriptの本って見たことないな
webブラウザのjavascriptならわかるけど応用きくんだろうか
Unityのjavascriptはactionscriptぽくてちょっと微妙だったが 本か、、初心者向けみたいな表紙だな、、と思ったら中身けっこう充実してるな
しかも翻訳か、電子版無いんかなあ 2次資料大好きマンなので、公式ドキュメントを見たことがないw
たまにはみてみるか〜 ■ このスレッドは過去ログ倉庫に格納されています