トップページgamedev
997コメント333KB

cocos2d-x

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/01/19(日) 21:57:17.04ID:UIuFcGmn
オープンソースのマルチプラットフォーム2Dゲームフレームワーク。

公式
http://www.cocos2d-x.org/

ツール
http://cocosbuilder.com/ mac用
http://cocostudio.org/ windows用

実績
ブレイブフロンティア
ファンタジスタドール ガールズロワイヤル等
07587562014/11/23(日) 14:07:45.99ID:tvAd4f2N
>>757
すげー良記事の紹介ありがとうございます。
その記事見つけられませんでした。。ググり方が悪いのかな。。。

おかげさまでうまくいきました!
0759名前は開発中のものです。2014/11/23(日) 18:01:17.50ID:JYLQ/ULe
texture packerを使っている人に質問です。
複数の画像をつっこんで、plistファイル生成することはもちろんできますが、
すでにsprite sheetになっている画像をつっこんで、plistファイルを生成することはできますか?
0760名前は開発中のものです。2014/11/23(日) 18:25:52.25ID:+dJYaAUV
リソースってどうすればいいですか?
コマンドプロンプトっていうか、shellから覗かれたら丸見えですよね?
特に外部から追加DLしたファイルとか
0761名前は開発中のものです。2014/11/23(日) 18:47:16.98ID:51APMqQG
>>759
texturepackerはまとめるだけ。proでも無理
shoeboxならtextureripperって機能があるよ。
0762名前は開発中のものです。2014/11/23(日) 19:10:51.15ID:+IGKY1/u
>>760
パズドラみたいにすればいいんじゃね?
暗号化まで凝ってるよね
0763名前は開発中のものです。2014/11/23(日) 20:16:33.73ID:8p8mQE7Q
ゲームプログラミングはUnityから始めたからイマイチよくわからないんだけど、Unityのスクリプトくっつけたオブジェクトみたいに、それぞれのSpriteでUpdate関数実行させることってできますか?

シーンのUpdate関数で個々のSpriteを更新するやり方に違和感を感じています
0764名前は開発中のものです。2014/11/23(日) 20:39:01.76ID:50oMRW0O
>>763
unityの内部のコードを想像してみろ
結局は同じこととおれは想像してる
0765名前は開発中のものです。2014/11/23(日) 20:45:24.12ID:vOLFL418
>>760
そんなのぉまぇのゲームがツマランから誰も見なぃから大丈夫だょ
0766名前は開発中のものです。2014/11/23(日) 22:17:22.08ID:JYLQ/ULe
>>736
Spriteを継承したクラスを作って、その内部でUpdateすれば良い
ただcocos2d-xでわざわざそんなことしてる人はいないと思う
0767名前は開発中のものです。2014/11/23(日) 23:17:58.19ID:/IbVlsvo
>>763
言語は関係無く、表示用クラスは基本受け身で
設定された画像やテキストを表示する役割に徹させる方が良いよ。
MVCモデル でググってみた方がいい。

http://warapuri.tumblr.com/post/28972633000/unity-50-tips
この記事オススメ。MVCは31辺り。
0768名前は開発中のものです。2014/11/24(月) 02:34:49.54ID:9HqsMCip
モデル、ビュー、コントローラーのデザインパターンも最近曖昧というか、変わってきてるよね、人によって
0769名前は開発中のものです。2014/11/24(月) 03:49:46.81ID:cEO0vP31
>>768
まぁ個人の開発の場合は好きずきなんだけど、
「未来の自分」という他人のためにも、やっぱり切り離せる設計がいいと思うなぁ。

可読性やバグフィックスの効率も上がるし、
何より、自家製ライブラリ的に使い回せるのは大きい。
0770名前は開発中のものです。2014/11/24(月) 17:59:44.94ID:9vQa9vuN
c++とjsのソースを同一プロジェクトに混在させることって可能ですか?
0771名前は開発中のものです。2014/11/24(月) 20:57:03.02ID:dXJTpl3o
質問です。
例えば、
Playerクラスなど独自に用意したクラスのノードを、別のレイヤーにaddchildすることは可能でしょうか?
Playerクラス内で、対象レイヤーで定義したstaticなインスタンスからaddchildを呼び出して使用しても
反映されません。
0772名前は開発中のものです。2014/11/24(月) 23:48:28.84ID:vCcGoJ/E
>>771
その場合playerのインスタンスは一個になるから、ポジションが元々のレイヤーのままで反映されてないように思えるだけでは?
デバッグで新しいレイヤーのchildにあるかみたの?
0773名前は開発中のものです。2014/11/25(火) 03:55:57.93ID:wYmozjm0
iphone6のシミュレータで、背景に1334*750の画像を1枚表示しただけでfpsが30になるんだけどそういうもんなのこれ?
設定では60fpsになるようにしてるんだけど
0774名前は開発中のものです。2014/11/26(水) 18:47:08.52ID:OiJN85tL
>>773
実機は大丈夫だからいいんじゃね?
0775名前は開発中のものです。2014/11/27(木) 12:09:18.56ID:AaExHFYH
>>773
開発機のMacが低スペックなだけでは?
0776名前は開発中のものです。2014/11/28(金) 22:11:55.79ID:G2gGRlg/
元ファイルに記述してあったコードを、別ファイルの別クラスに分けて、
スプライトを表示するため、addChildをすると、
Invalid use of 'this' outside of a non-static member function
と怒られます。

元ファイルからそのクラスを呼んでいるのですが、
かといってstaticをつけないと呼び出し元がエラーになります。

この問題はどのように解消したらいいのでしょうか?

呼び出し先の方で吸収する問題だと思って、
いろいろと調べたのですが、いまいち理解が届かず困っております。。
0777名前は開発中のものです。2014/11/28(金) 22:21:21.83ID:b4RcsiHy
CCStringとintを1セットとして15セットくらい保存したいんだけど、なにかいい方法ありますか?
0778名前は開発中のものです。2014/11/29(土) 01:43:01.74ID:tbPyAuTb
>>776
>Invalid use of 'this'
>outside of a non-static member function

非静的メンバ関数外での、thisが無効とは、
インスタンス外では、thisは使えないのは当然

thisは個別のインスタンスを表すもので、
すべてのインスタンスで共通するクラスメソッド
(static メソッド)では使えない

そもそもクラスメソッドは、そのクラス全体に共通する処理で、
すべてのインスタンスで、全く同じ内容の処理となる。
個別のインスタンスで、処理の内容が変わってはならない

個別のインスタンスとは結びつかない関数で、
インスタンスが存在していなくても呼べる

Math.何々とか、
インスタンスがまだ存在しない時に呼ぶ、newとか

一方、thisは個別のインスタンスを表し、
各インスタンスが持つデータは、それぞれ異なる

そもそも君は、オブジェクト指向を知っているの?
0779名前は開発中のものです。2014/11/29(土) 05:26:08.33ID:9EJ9f2ov
>>777
> CCStringとintを1セットとして15セットくらい保存したいんだけど、なにかいい方法ありますか?

つ std::vector<std::pair<CCString, int>>
0780名前は開発中のものです。2014/11/29(土) 09:50:46.80ID:aOKbLDv7
>>776
まずはstaticをきちんと理解してからですね。
0781名前は開発中のものです。2014/11/29(土) 12:23:23.31ID:RkdSMohZ
>>779
std::pairって型として使えるんか
そりゃそうか
0782名前は開発中のものです。2014/11/29(土) 12:52:21.21ID:2uBK3+0X
>>779
std::map<CCString, int>
とかは?
0783名前は開発中のものです。2014/11/29(土) 16:28:57.18ID:9EJ9f2ov
>>782
> std::map<CCString, int>
> とかは?

std::map でもおk
CCString で高速に検索できる。

ただし、要素数がそう多くないんだったら、vector の方が速くて、
コードが書きやすい場合もある
0784名前は開発中のものです。2014/11/29(土) 16:46:28.97ID:9vXH0JiE
cocos2d-xでアプリを作ろうと思っており、xCodeでC++を使用しているのですがクラス名や変数のリネーム(リファクタリング)ができなくて困っております。
xcodeでは無理っぽいのでeclipseでやろうと思ったのですが参照している箇所全てが変わるわけでなく中途半端にリネームされて困っております。

みなさんはどうしていますか??
0785名前は開発中のものです。2014/11/29(土) 17:29:06.39ID:RkdSMohZ
unsigned char* CCFileUtils::getFileDataFromZip(const char* pszZipFilePath, const char* pszFileName, unsigned long * pSize)
というZipファイルから中のファイルを取得する関数で
unsigned long * pSize
という引数が
「指定したバイト数だけ取ってきてやるからポインタ変数よこせ」なのか
「取ってきたファイルのバイト数を入れてやるからポインタ変数よこせ」なのか
一見しただけじゃ意図がよくわからない引数って無いですか?

これはコメントも無いですが、ソースが見れる状態だったから判断が付きましたが、
普段プログラムを組んでる人はどういうふうにコンパイル済みでヘッダしかない外部ライブラリやフレームワークの引数の意図を判断してるんでしょうか?
0786名前は開発中のものです。2014/11/29(土) 17:53:53.00ID:aOKbLDv7
>>785
c出来る?
0787名前は開発中のものです。2014/11/29(土) 18:29:28.34ID:RkdSMohZ
>>786
答えにくい質問ですね、基礎レベルまでなら出来ます
「c言語が出来る」と豪語は出来る人が日本に何人もいるか知りませんが
07887762014/11/29(土) 20:22:44.68ID:6B/BdL1t
>778, 780
ありがとうございます。たぶん理解がすっきりとした気がします。

とりあえず、作ってみるところからはじめているため、オブジェクト指向の理解は、かなり浅いような気がします。。
C++の入門書とcocos2d-xの本しか読んでいないため、良書をあさってみます。。

ここでthisは使うのは無理なんだろう、、とはなんとなく思っていたのですが、解決すべき術がいまいちわかりませんでした。

分割したファイルに、CustomSpriteNodeClassみたいなものをつくり、
たとえば、スプライトのファイル名などを引数で渡し、表示する共通処理のようなものを書きたいのですが、

引数渡しで呼び出す
static内でnewし、コンストラクタに引数を渡す
初期化
スプライトを表示してaddchild

みたいな流れになるのでしょうか?
ずばりこれというサンプルが見つからなかったため、この方法が良い方法なのか一般的なのか、がいまいちわかりません。
とにかく、static内では、固有のインスタンス処理は書かないようにします。
0789名前は開発中のものです。2014/11/30(日) 00:50:48.24ID:QVYsSSel
Spriteを継承したMaincharactorクラスを作ってるんですけど、Maincharactorクラスをインスタンス化する時って、Sprite::create()するのと、new Maincharactorするのどっちが良いですか?
0790名前は開発中のものです。2014/11/30(日) 01:34:52.82ID:2ekzY+LC
>>789
そんな程度ならCREATE_FUNC書いとけばいいんじゃね?
07917782014/11/30(日) 02:48:05.77ID:oOFPWW12
>>788
thisは個別のインスタンスを作ってから、
そのインスタンスを指すものだから、

Math.〜などインスタンスを作らないで呼べるもの、
newなどインスタンスを作る前の段階では、thisは使えない

メソッドには、インスタンスメソッドと、
クラス(static、静的)メソッドの2つがあって、
ごちゃ混ぜに出来ない

たぶんクラスメソッドは、
インスタンスの誕生前から存在しているかも

だから、インスタンスメソッドの中で、
クラスメソッドを呼べるかも知れないが、逆は無理だろう
0792名前は開発中のものです。2014/11/30(日) 16:16:04.53ID:2LtupVMk
CCFileUtils::sharedFileUtils()->getWritablePath()で取得したファイルパス下に
ディレクトリを作りたいんですがどうしたらいいですか?
CCFileUtilsにはフォルダに関する操作がありませんでした
0793名前は開発中のものです。2014/11/30(日) 18:01:49.71ID:vq/QPK9c
隕石が降ってくると地面がえぐれてでこぼこになるみたいなのを作りたいのだけど
方法がわからん
地面にはphysicsありででこぼこになった形で衝突判定できるようにしたい
0794名前は開発中のものです。2014/11/30(日) 20:37:06.88ID:Q1WMgp1N
>>793
上の方でオブジェクト破壊のアセットの話が出てたよ。有料だったかも。

プロシージャルな形状変化ではなく
元から分割されたオブジェクトをまとめておくやり方だから、
参考にして自作するのもありなんじゃないかな。
0795名前は開発中のものです。2014/11/30(日) 21:45:37.89ID:bi5kZ48u
CCDictionary、キーにstd::stringちゃんと使ってんのに'this dictionary doesn't use string as key'っていわれちゃう、なんでだろ?バージョンは2.2.5
0796名前は開発中のものです。2014/11/30(日) 22:10:06.88ID:vq/QPK9c
>>794
ありがとうありがとう
上にそのようなレスは見当たらなかったけどイメージできます
■■■■■■
■■■■■■
■■■■■■
こうしておいて破壊部分を消すということですよね

形状変化させるうまいやり方ないのかな
0797名前は開発中のものです。2014/11/30(日) 22:48:39.65ID:2ekzY+LC
>>792
_mkdirで出来なかったっけ?
0798名前は開発中のものです。2014/11/30(日) 23:57:03.18ID:Q1WMgp1N
>>796
すまん、Unityスレと混同してた…
まぁでもイメージは伝わったみたいだ。

まずは&#9724;&#65038;の図みたいに一つの穴単位で区切ってみるのがいいね。
表現を追求するなら、ある程度の深さまで三角形で細かく分割して
影響対象を半径内の複数パーツにする感じかな。
隕石によってパーツ吹き飛ぶ(時間経過で消す)→穴があく も再現できそう。
07997882014/12/01(月) 00:31:20.03ID:3cko/d4d
>>791
承知しました。たびたびどうもありがとうございました。あとはやるだけです。
0800名前は開発中のものです。2014/12/01(月) 02:35:52.35ID:jEP21P/X
>>795
型が違うのかな?ちゃんと初期化できていないとか?
CCArray,CCDictionaryは、Cocos2d-x 3.0 から使うの非推奨らしい

"ccdictionary cocos2dx"で検索する
0801名前は開発中のものです。2014/12/01(月) 23:02:53.96ID:Z4PTYkNP
>>796
cocos2d-swiftでしかもchipmunk proらしいけどいくつかあった。pro版のAutoGeometryって機能使うと楽にコーディングできるそうな
youtubeでdeformable terrain cocos2dでいくつか動画が見つかるよ
https://github.com/slembcke/SpacePatrol
https://github.com/slembcke/CloudBomber

これはcocos2d-xらしいがverが2.2だった。
https://github.com/wantnon2/pixelToolKit-for-cocos2dx
stackoverflowに似た質問があったけど、難しそう
http://stackoverflow.com/questions/20118036/how-to-make-crater-like-destruction-in-box2d-body
0802名前は開発中のものです。2014/12/02(火) 00:41:15.63ID:ag3nYlCU
Physicsで爆発が起きた時のような力をかけるにはどうすればいいですか?
0803名前は開発中のものです。2014/12/02(火) 01:22:01.02ID:ImWAeoQM
>>800
CCDictionaryをメンバ変数としてつかってたのがわるかったみたい。原因は不明だけど。。
0804名前は開発中のものです。2014/12/02(火) 01:54:55.10ID:59+uTFOr
>>803
普通にstd::mspじゃ駄目なの?
0805名前は開発中のものです。2014/12/02(火) 02:01:43.17ID:rIomJPX4
>>801
おお、ありがとうありがとう

今考えているのはポリゴンで地面を描いてそこにテクスチャを貼る方法です
同じポリゴンパス使い回しでphysicsBodyも作れるので効率がいいかと
でもDrawNodeポリゴンにテクスチャを貼る方法がみつからず

このへんとかいけそうなのだけど今のところ動作していません
http://www.codeproject.com/Articles/727918/d-Textures-in-cocos-d-x-V

ちなみにv3.2でやっています
0806名前は開発中のものです。2014/12/02(火) 02:49:33.62ID:rIomJPX4
>>805ですが
こちらもテスト中
https://github.com/dmazzella/cocos2d-x-PRKit

今のところうまくいっていません
0807名前は開発中のものです。2014/12/02(火) 14:12:55.90ID:qhf16Oa4
コンシューマー上がりなんだが、メモリマネージャー的な奴って意味ないのかな?
メモリはOSレベルで管理してるってきいたんだが、、、
0808名前は開発中のものです。2014/12/04(木) 22:35:54.74ID:sNCjp4Ke
MenuItemLabel と Menu で Label を使ったボタンを作りましたが、
この3つの要素の位置関係がわかりません。
ボタンを画面の右上に配置するにはどうすればいいでしょうか?

よろひくおねがいします。
0809名前は開発中のものです。2014/12/05(金) 13:22:39.55ID:jQObfWmL
>>808
MenuのポジションはZERO、MenuItem個別にセットポジションすれば好きに置けるよ

よろひくお願いします
0810名前は開発中のものです。2014/12/06(土) 03:25:53.98ID:0WOP87yL
PhysicsのContactから得た衝突したオブジェクトのメンバ変数にアクセスするにはどうしたらいいですか?
0811名前は開発中のものです。2014/12/06(土) 03:32:19.47ID:8+S2Qo9B
>>810
言ってる意味がわからないけど多分キャスト
0812名前は開発中のものです。2014/12/06(土) 04:38:45.37ID:clhTOfm8
スクリプトのメンバ変数を直接取り出そうとして
obj.MyValueとかやってる可能性も2割方。
0813名前は開発中のものです。2014/12/06(土) 18:41:48.55ID:rY7Kt0AL
Unityに比べてなぜこんなにスレが盛り上がってないんだろうか
C++の敷居が高いから?
0814名前は開発中のものです。2014/12/06(土) 19:01:15.33ID:BqBWmNTD
C++のtemplateって機能って普段ゲーム作るとき使わないよな?
ゲームを作るライブラリとか作るときは使うけど
0815名前は開発中のものです。2014/12/06(土) 19:09:33.89ID:8+S2Qo9B
>>814
シングルトンのテンプレ作ったりはするかなぁ
0816名前は開発中のものです。2014/12/09(火) 21:35:35.00ID:0SqUZJlU
ParticleSystemQuadで呼んでいるplistを
flipX(反転)したいんですけど、なんかよい方法ありませんかね。??
0817名前は開発中のものです。2014/12/09(火) 21:58:48.46ID:/P92n2W2
setRotationが使えないの?Nodeから継承してるみたいだけど
08188162014/12/10(水) 01:11:55.94ID:EGFp8YMz
>>817
setRotation3Dのことですかね?存在を忘れていました。。
ありがとうございます。これで反転しました。
ひとつ疑問に残ったのは、算数が苦手なので、、試してもうまくいかなったのですが。。
setRotationでもflipできる計算式ってあるんですか?わからずですいません。。
0819名前は開発中のものです。2014/12/10(水) 04:52:16.66ID:/ivpG84x
シンメトリーならsetRotation(180)でもいいけど
まぁ上下逆さまになってしまうよね
-180入れたらどうなるのかなこれ

ところで平らな面にBoxタイプのPhysicsBodyを置いて
ボタンから左右に動くようにしたら少し動かしただけでBoxのカタカタ止まらなくなる
Boxの角が地面にめり込んで反発しての繰り返しな気がするけど、解決方法が見つからない
0820名前は開発中のものです。2014/12/10(水) 08:28:29.18ID:0NUIe091
>>819補足サンクス 確かにrotationだと上下逆になるね。

physicsbodyにセットするmaterialのfrictionいじるとかかな?ref見ただけの感じですが。
08218182014/12/10(水) 13:57:26.94ID:EGFp8YMz
>>819,820
補足ありがとうございました。ちなみに、-180でも結果は180と同じでした。
とりあえず、setRotation3Dで大丈夫そうなので、こちらで様子みます。
0822名前は開発中のものです。2014/12/10(水) 14:16:23.00ID:/ivpG84x
>>820
ありがとう

摩擦係数やらなにやら色々試してるのだけどカタカタカタカタ…
わけがわからん
0823名前は開発中のものです。2014/12/10(水) 23:05:58.21ID:0NUIe091
>>822
暇というか現実逃避ついでにぐぐったよ
unity使ってた時に似た問題にあってたぶん下のリンクで書かれてる、Rigidbodies Partially Sinking Into Geometryって見出しのことだと思う
http://gamedevelopment.tutsplus.com/articles/how-to-fix-common-physics-problems-in-your-game--cms-21418
cocos2d(swift)での解決策が下のリンク
http://forum.cocos2d-swift.org/t/dynamic-bodies-sink-into-static-bodies/15152/2
cocos2d-xでもlibchipmunkに同じのがあるからいけると思うけど、c言語で書かれてるchipmunkのアクセス制御があってどうするかよくわからん
0824名前は開発中のものです。2014/12/10(水) 23:10:35.41ID:0NUIe091
>>822
下のリンクよく見たら、updateRate変えて物理エンジンのイテレーションの回数あげるってのも提案されてたわ
気づかんでソース追いかけてた
0825名前は開発中のものです。2014/12/12(金) 18:30:10.66ID:cu9UHUJR
神フレームワークなのに盛り上がってなさすぎ
おれ大学生だけどcocos2d-xのおかげで月に10万以上稼いでるぜ
0826名前は開発中のものです。2014/12/12(金) 19:44:08.98ID:OxFs15cw
大学生なら普通にバイトすりゃもっと稼げるだろう
0827名前は開発中のものです。2014/12/12(金) 22:51:36.92ID:Ya/kZvkm
月十万片手間で小遣い稼いでるって言いたいんだろな
子供いる身からすると、小銭稼ぐのはいいけど学業にちゃんと腰据えられてるの、みたいな邪推が先に来るw

余計なお世話だろけど、学費無駄になってないかとか身の丈見据えた上で楽しんでくれや
0828名前は開発中のものです。2014/12/12(金) 23:04:00.30ID:s0rRP3Zy
学業に支障でるのはアレだけどそういう経験は学校の勉強以上に意義があると思う。
情報処理の学科なら卒論のテーマにもなって一石二鳥。
0829名前は開発中のものです。2014/12/12(金) 23:48:56.92ID:Ya/kZvkm
うん、そういう流れだと素晴らしいなと思います
なおかつ学生の本分上で月十万の成功体験ってのは貴重だろうなぁ
0830名前は開発中のものです。2014/12/12(金) 23:54:36.04ID:s0rRP3Zy
稼いだ金を元に起業とか出来ればもっといいだろうな

でもそうなったとしても卒業だけはしとけw
0831名前は開発中のものです。2014/12/13(土) 00:24:56.22ID:JkhPK/5+
アニメーションの終了待ちをし、次のアニメーションを呼びたいのです。

callFuncNでアニメを呼び出し、Sequenceという紹介をしているサイトが多いような気がしますが、
アニメ関数を呼ぶとき、引数を5つほど渡すつくりのため、エラーがでてしまいます。。
こんなときは、どのような作り方をすればいいのでしょうか?
0832名前は開発中のものです。2014/12/13(土) 01:33:11.36ID:B0px8OGd
>>831
ラムちゃん
0833名前は開発中のものです。2014/12/13(土) 07:39:22.90ID:isd5J4yi
参考までにどんなアプリ作ったかみせてほしいわ
0834名無しさん@そうだ選挙に行こう2014/12/13(土) 13:07:23.10ID:cTfiogfq
CCHttpClientってタイムアウトした場合どうなるの?
08358312014/12/13(土) 15:28:26.63ID:JkhPK/5+
>>832
ラムちゃん??
0836名無しさん@そうだ選挙に行こう2014/12/13(土) 16:22:38.77ID:A0jns9V6
ラムダのことだろ
08378352014/12/13(土) 18:53:09.26ID:RANoDkSR
>>836
おお!
想像力が貧困ですまそ。それは試したんだが、アニメ1とアニメ2が同時呼び出しになってしまうのですが…。

auto callFuncN = CallFuncN::create(
[&](Ref *sender){
callAnimation1( param1, param2, param3, param4, param5 );
});
auto callFuncN2 = CallFuncN::create(
[&](Ref *sender){
callAnimation2( param1, param2, param3, param4, param5 );
});
Sequence *seq = Sequence::create( callFuncN, callFuncN2, NULL);
this->runAction(seq);

終了待ちしない理屈はわかるんだけど、解決方法がわからんのです。。(´・ω・`)
なんかプラスアルファ必要ですか?
0838名無しさん@そうだ選挙に行こう2014/12/13(土) 19:02:13.51ID:B0px8OGd
>>837
spawnちゃん
0839名無しさん@そうだ選挙に行こう2014/12/13(土) 19:04:25.10ID:B0px8OGd
>>837
いや、間違えた、、

アニメ1のコールバックにアニメ2ですね
0840名無しさん@そうだ選挙に行こう2014/12/13(土) 19:40:52.83ID:cWy9ju7r
>>837
callAnimationの実装がよくわからないけど、callFuncNって一瞬だけ関数呼ぶ感じじゃね?
callAnimationの終了をまたずに最初のアクションが終わってる感じじゃね?
ActionnIntervalを継承したクラス作ってisDoneメソッドでcallAnimationの終了判定する感じかな?
0841名無しさん@そうだ選挙に行こう2014/12/13(土) 19:54:10.52ID:cWy9ju7r
再利用とかにDRY原則とか気にしないなら>839のがいいな
0842名無しさん@そうだ選挙に行こう2014/12/13(土) 21:50:57.77ID:B0px8OGd
それかアニメ1のアニメ時間ぶんdelayさせればおkじゃね?
0843名無しさん@そうだ選挙に行こう2014/12/14(日) 03:23:43.86ID:7MiBKBJQ
>>823,824
遅くなったけどありがとう
一回Physics全部取っ払って、ソースコード整理してからあらためてPhysics入れたら直ってた
何かが干渉していた様子

>>837はSequenceじゃない
0844名無しさん@そうだ選挙に行こう2014/12/14(日) 12:35:00.40ID:io52XvyJ
ボタンの上をタップするとsceneのccTouchBeginが反応してくれないんですが、どうしたらいいですか?

ccTouchBeginとMoveとEndでスクロールバーを作ってるのでボタンの上でドラッグした時に無視されるときついです
0845名無しさん@そうだ選挙に行こう2014/12/14(日) 12:53:55.78ID:oibUD6k6
http://discuss.cocos2d-x.org/t/cccontrolslider-on-top-of-ccscrollview-touch-drags-both/8119
>>844
touchPriority変えて、bSwallowTouchedをtrueにするらしい
swallowって多分actionscriptでいうところのタッチとかのイベントを親にリレーみたいに渡すかみたいな意味
Buttonのほうが他のより優先的にタップに反応するからpriority変えてコンテナ(>844の場合だったらscene?)が優先的に反応するようにする
0846名無しさん@そうだ選挙に行こう2014/12/14(日) 13:32:28.63ID:oibUD6k6
>845違ってたわーすまん。
Menuのswallowをfalseにしたらイベントが他にも伝搬するかな。
0847名無しさん@そうだ選挙に行こう2014/12/14(日) 15:51:07.39ID:XfU9ZcpQ
http://qiita.com/shoya/items/78ed184a5e59d50888fb
を参考にGAFを取り入れようとしたのですが
・4.Xcodeで設定
でつまづいてしまいました…

gafplayer(GAFPlayer) やlibgafplayer.aがそもそも出てこない。。。

なんでxcodeはこんなに難しいんでしょう(泣)
08488372014/12/14(日) 17:13:25.38ID:HXATjlNo
>>839、840、841、842、843
みんなありがとございます(´;ω;`)

ただ、DelayTimeを使えば、簡単にできますけど(それでいいじゃねという話はさておき・・・)、
アニメ1のコールバックにアニメ2はなんかうまくいかず、、
同時再生になってしまいます。。入れ子にすればいいっていう思っていてそれっぽいのはいくつか試したのですが。。
関数はその順番で呼んでいるんですけど、終了待ちになっていない、、これじゃうまくいかない。。という状態なんだと。
すいませんが、それっぽいソースはありますか?

isDoneの終了判定も試してみようと思っていて、これからです。
アニメ関数 がいくつかあって、スプライトをfor文で回しているものは終了判定は取れますけど、
ActionnIntervalでrunActionしているものは、runActionしたのちに終了判定を取得する方法がわからず、みたいな状態です。。

Sequenceじゃないというのは??
0849名無しさん@そうだ選挙に行こう2014/12/14(日) 17:58:59.45ID:YN9+JIxY
>>847
スレチだろ。ガフスレに行け
0850名無しさん@そうだ選挙に行こう2014/12/14(日) 18:05:01.74ID:ZR9SjmCQ
>>848
トンチンカンな説明するよりソースはったほうがよっぽど有意義な回答得られるぞ
0851名無しさん@そうだ選挙に行こう2014/12/14(日) 18:14:08.39ID:io52XvyJ
>>846
ありがとう
できた
0852名無しさん@そうだ選挙に行こう2014/12/14(日) 18:19:43.94ID:oibUD6k6
>>848
アニメーションってのはspriteAnimationのこと?
AnimateクラスはActionIntervalのisDoneをそのまま使っててそれでいいはず
callAnimationの実装がわからないとなんとも言えない気がする
0853名無しさん@そうだ選挙に行こう2014/12/14(日) 18:52:44.99ID:io52XvyJ
CCParticleSystemQuadで放射状のパーティクルを描画していたんですが、
addChildしていたCCLayerの座標を動かすと、発生済みのパーティクルがその場に残り続けます

http://wonderpla.net/blog/engineer/cocos2dx-ccparticlesystem/
このリファレンスを見て
setPositionだと発生済みのパーティクルごと移動する
setSourcePositionだと発生済みのパーティクルを置いていくように移動する
と解釈してたんですが、どうしたら発生済みのパーティクルごと動かせますか?

例とか言うと、
カメラの移動では発生済みのパーティクルも移動させたくて、
ファイアーボールみたいな攻撃ではパーティクルは撒き散らすように移動させたいです
それで、setPositionでもsetSourcePositionでも両方発生済みのパーティクルを置いていくように移動してしまうので困ってます
0854名無しさん@そうだ選挙に行こう2014/12/14(日) 19:29:11.57ID:oibUD6k6
>>853
setPositionTypeでrelativeを指定かな
0855名無しさん@そうだ選挙に行こう2014/12/14(日) 19:32:50.04ID:wO95bcKE
Physicsで爆発の衝動与えたいんだけど、どうするのが良い?
08568482014/12/14(日) 20:13:55.60ID:fS6qjeQl
>>850, 852
すいません、貼りますー。いくつかアニメの関数はあるんですけど、簡単にするとこんなのとかです。。
1番簡単だけど、わりと困っている奴です。Animateの方はなんとかなりそうです。

void HelloWorldLayer::callAnimation1( const std::string& fileName, int posX, int posY, int rot, int a, int b )
{
auto spriteAnima = Sprite::create(fileName);
spriteAnima->setPosition(posX, posY);
spriteAnima->setRotation(rot);
this->addChild(spriteAnima, 10);

auto fadein = FadeIn::create(1);
auto fadeout = FadeOut::create(1);
auto seq= Sequence::create(fadein, fadeout, NULL);
auto repeat = Repeat::create(seq, 3);
spriteAnima->runAction( repeat );
}
0857名前は開発中のものです。2014/12/14(日) 20:53:24.90ID:oibUD6k6
>>856
spriteAnimaにつけるアクションの数をnumberOfRunningActionでみてゼロなら、
次のアクションcallFunc2の開始するみたいに書けない?
■ このスレッドは過去ログ倉庫に格納されています