再び失礼致します、これが最後です・・・orz
いよいよ最終段階に入り、友達のアプリ(Java,Object-Cで開発したもの)へ自分のcocosで制作したプロジェクトを組み込もうとしております。
cocosプロジェクトに関してはAndroid,Iphone共に実機でのデバッグは完了済みです。
JavaであればIntentによるActivtyの移動、Object-CであればViewContrallerによる遷移で簡単に行くだろうと考え、取り敢えず
Iphoneから挑戦してみたのですが、全然駄目でした。
組み込み方が悪いのかインクルードが上手く行かず、今は暫定的にフォルダ階層を無くし、必要なソースコードを全てプロジェクト直下に配置しております。
(ヘッダが見つからないと言われたらプロジェクトへ追加していく形を取っております)
インクルードエラーは全て回避出来たものの、cocosが元から持っているcppなどで様々な文法的エラーが発生してしまい、そもそも組み込み方法から考え直すべきだと判断しました。
(もし組み込み方法が見当たらない場合はエラーを潰そうかとも思いましたが、エラーの数が少し現実的ではない数字で困ってしまってます・・・。)
目標としては恐らくAppContrallerへ遷移させる事です。
(main.mは既に元のアプリ側が持っているため。遷移先がAppContrallerで良いかは自信がありません)
単体であればXcodeによるデバッグも可能であるため組み込み自体は可能だと思われますが、もしご存知の方いらっしゃれば組み込み方法について助言頂けると幸いに存じます。
既存アプリへcocosプロジェクトを組み込むには
Re: 既存アプリへcocosプロジェクトを組み込むには
補足
友達のアプリをメインとしたら、自分のアプリはサブ要素みたいなもので画面遷移だけ行えれば大丈夫という状態です。
(取り敢えずの所、とくに値の受け渡しはしない方向にしてあります)
友達のアプリをメインとしたら、自分のアプリはサブ要素みたいなもので画面遷移だけ行えれば大丈夫という状態です。
(取り敢えずの所、とくに値の受け渡しはしない方向にしてあります)
Re: 既存アプリへcocosプロジェクトを組み込むには
プロジェクトの設定でC++でもデバッグ可能にし、インクルードを通しても文法エラーが消えず・・・
(Xcodeは一括でエラーを表示してくれないため、もしかすると何処かしらでインクルードエラーが発生しているやもしれません)
通常のcocos2d-x+Xcodeであればエラー発生せずにデバッグ出来るため、必要なファイルが足らないのでしょうか・・・。
念のためcocos2d-libプロジェクトを追加し、FrameWorkもcocos2d-xのプロジェクトと同じにしているのですが。
理論上出来る様な気はしていますが、想像以上に難題でした。。
Java+Androidの方でも構いません、分かる方いらっしゃればお願い致しますorz
(Xcodeは一括でエラーを表示してくれないため、もしかすると何処かしらでインクルードエラーが発生しているやもしれません)
通常のcocos2d-x+Xcodeであればエラー発生せずにデバッグ出来るため、必要なファイルが足らないのでしょうか・・・。
念のためcocos2d-libプロジェクトを追加し、FrameWorkもcocos2d-xのプロジェクトと同じにしているのですが。
理論上出来る様な気はしていますが、想像以上に難題でした。。
Java+Androidの方でも構いません、分かる方いらっしゃればお願い致しますorz
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 既存アプリへcocosプロジェクトを組み込むには
時間が取れなくてAndroidは試せてませんが、この掲示板がiPhoneユーザーが少ないので更に少ないCocos2d-xの返答は難しいなと言う印象です。
Cocos2d-xのフォーラムで英語や中国語で質問するとかの手を考えたほうがよろしいかと思います。
【補足】
もうひとつ有った。
facebook必須ですが
「coco2d-x jp」
http://www.cocos2d-x.jp/
Cocos2d-xのフォーラムで英語や中国語で質問するとかの手を考えたほうがよろしいかと思います。
【補足】
もうひとつ有った。
facebook必須ですが
「coco2d-x jp」
http://www.cocos2d-x.jp/
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 既存アプリへcocosプロジェクトを組み込むには
Cocos2d-xには詳しくないのですが、Cocos2d-xはアプリケーションフレームワークですよね。
Cocos2d-xを使っていないメインプロジェクトに組み込んでCocos2d-xの機能を呼び出せるはずはないと思うのですが。
メインとサブではなくて、それぞれ別アプリとして作成し呼び出し合う形でなら可能ではないでしょうかね。
Cocos2d-xを使っていないメインプロジェクトに組み込んでCocos2d-xの機能を呼び出せるはずはないと思うのですが。
メインとサブではなくて、それぞれ別アプリとして作成し呼び出し合う形でなら可能ではないでしょうかね。
Re: 既存アプリへcocosプロジェクトを組み込むには
>>ソフト屋さん
やはりそうですよね・・・しかも質問内容が恐らく普通では遭遇しないような自体でしたので。
事前にもっと調べておくべきでしたorz
>>ISLeさん
その辺りの知識がとても浅いため分からないのですが、組み込む際に必要なもの(フレームワークなど)をインクルードする形は難しいという事でしょうか?
イメージとしてはViewContrallerで受け渡した後はcocos関連を読み込ませたプロジェクトを動かすというものであり、メインプロジェクト側ではcocosの機能を呼び出す予定はありません。
申請自体を一人で済ませてしまいたいという事情もあり、完成されたアプリは必ず一つにしたいと思っております。
やはりそうですよね・・・しかも質問内容が恐らく普通では遭遇しないような自体でしたので。
事前にもっと調べておくべきでしたorz
>>ISLeさん
その辺りの知識がとても浅いため分からないのですが、組み込む際に必要なもの(フレームワークなど)をインクルードする形は難しいという事でしょうか?
イメージとしてはViewContrallerで受け渡した後はcocos関連を読み込ませたプロジェクトを動かすというものであり、メインプロジェクト側ではcocosの機能を呼び出す予定はありません。
申請自体を一人で済ませてしまいたいという事情もあり、完成されたアプリは必ず一つにしたいと思っております。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 既存アプリへcocosプロジェクトを組み込むには
試せてはませんが、AndroidManifest.xmlを書き換えて
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
を別のアクティビティに割り当ててしまえば、そちらのアクティビティから起動するはず。
そのアクティビティからorg.cocos2dx.cpp.AppActivityをstartActivity(intent);すれば出来ると思うんですよ。
最初に書いたとおり試せてませんが。
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
を別のアクティビティに割り当ててしまえば、そちらのアクティビティから起動するはず。
そのアクティビティからorg.cocos2dx.cpp.AppActivityをstartActivity(intent);すれば出来ると思うんですよ。
最初に書いたとおり試せてませんが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 既存アプリへcocosプロジェクトを組み込むには
アプリケーションフレームワークは、その機能を使えるようにするためにアプリ起動時から呼び出される準備処理があります。
なのでフレームワークが用意したプロジェクトテンプレートからプロジェクトを作成する必要があったりします。
あらかじめ準備処理が呼び出されていなければ、機能を使うことはできない(まともに動かない)わけです。
Androidでは最初に呼び出すActivityを(まともに動くかどうかは分かりませんが)すげ替えることはできるかもしれませんが、iOSで同様にできる可能性は極めて低いのではないでしょうか。
メインプロジェクト側で利用する予定はない、ではなくて、すべてをCocos2d-xベースで作れば良いのに、という話なのですよね。
すべてをCocos2d-xのもとで作ればプラットフォームフリーなのを、想定外の使い方をしようとしているわけですから。
なのでフレームワークが用意したプロジェクトテンプレートからプロジェクトを作成する必要があったりします。
あらかじめ準備処理が呼び出されていなければ、機能を使うことはできない(まともに動かない)わけです。
Androidでは最初に呼び出すActivityを(まともに動くかどうかは分かりませんが)すげ替えることはできるかもしれませんが、iOSで同様にできる可能性は極めて低いのではないでしょうか。
メインプロジェクト側で利用する予定はない、ではなくて、すべてをCocos2d-xベースで作れば良いのに、という話なのですよね。
すべてをCocos2d-xのもとで作ればプラットフォームフリーなのを、想定外の使い方をしようとしているわけですから。
Re: 既存アプリへcocosプロジェクトを組み込むには
>>ソフト屋さん
なるほど、月曜日に実際に会ってから確かめようと思います。
>>ISLeさん
なるほど・・・少しDXライブラリと近い形でしょうか・・・?
あちらも途中からInitさせる事は多分難しいですよね。
本当に全くおっしゃる通りでcocosで全てを取り仕切りたいのですが、あちらは既に完成してらっしゃるためcocosベースにするには少々難しいかな・・・という印象です。
描画などを含め全て改築するとなると・・・途方も無いです。
本当にどうしたものやら・・・・・。
なるほど、月曜日に実際に会ってから確かめようと思います。
>>ISLeさん
なるほど・・・少しDXライブラリと近い形でしょうか・・・?
あちらも途中からInitさせる事は多分難しいですよね。
本当に全くおっしゃる通りでcocosで全てを取り仕切りたいのですが、あちらは既に完成してらっしゃるためcocosベースにするには少々難しいかな・・・という印象です。
描画などを含め全て改築するとなると・・・途方も無いです。
本当にどうしたものやら・・・・・。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 既存アプリへcocosプロジェクトを組み込むには
メンテナンス性は最悪ですが、Cocos2d-xで起動して何も表示せずにiOSアプリ側を呼び出すって手はあるかもしれません。
つまり、主がCocos2d-xで従がiOSアプリ側です。ソースなど混ぜこぜにする必要があるのでメンテナンス性が極端に下がります。
やったことがないので出来る保証は出来ません。
検索するとiOS側の機能を呼び出す例が幾つか散見されるので不可能ではなさそうな気もします。
で、iOS側から呼び出されるフリをしてCocos2d-xに戻ってゲームが始まると言うわけです。
【補足】
インターフェイスのためiOSアプリ側の修正も必要です。どのぐらいの手間かは良く分かりません。
つまり、主がCocos2d-xで従がiOSアプリ側です。ソースなど混ぜこぜにする必要があるのでメンテナンス性が極端に下がります。
やったことがないので出来る保証は出来ません。
検索するとiOS側の機能を呼び出す例が幾つか散見されるので不可能ではなさそうな気もします。
で、iOS側から呼び出されるフリをしてCocos2d-xに戻ってゲームが始まると言うわけです。
【補足】
インターフェイスのためiOSアプリ側の修正も必要です。どのぐらいの手間かは良く分かりません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 既存アプリへcocosプロジェクトを組み込むには
色々と試してみましたが、全て駄目でした・・・。
仕方が無いのでObjective-Cで一から作り直そうかと思います。
有難う御座いましたm(_ _)m
仕方が無いのでObjective-Cで一から作り直そうかと思います。
有難う御座いましたm(_ _)m