リンク
とp

2012年08月01日

その6一旦休止 書籍cocos2d for iPhone レッスンノート (加藤寛人、佐藤伸吾著) の誤植の修正とcocos2d v1.0からv2.0への移行の道のり、

その6 書籍cocos2d for iPhone レッスンノート (加藤寛人、佐藤伸吾著) の誤植の修正とcocos2d v1.0からv2.0への移行の道のり、アイフォンアプリ開発記録日誌 7月2012年

今回で、いったん、休止です。わたしの知識が無いので先に進めませんでした。

注:

書籍cocos2d for iPhone レッスンノート (加藤寛人、佐藤伸吾著) の誤植の修正といってますが、単に、書籍に記載されているコードをXcode4.4でCocos2D Ver2.0に対応させて記述しています。MacOS MountainLionです。
(本書は、Xcode4.0でCOSOS2D Ver1.0に基づいて記載されているので、COSOS2DVer2.0で動かないことがあっても当然であり、著者、出版社に責任はありません。誤植や不備はどの本にもあることです。)







<現在はレッスン4の隕石アステロイドAsteroidゲームです。>

現在の動作していない点

1.隕石が降ってこない

2.砲台が動かない

3.ミサイル弾が発射されない

4.あたり判定、他の動作が確認できない。



・動作している点

1.砲台、地面、パーティクルが表示される。パーティクルはアニメーションされている。

ほかなし。


http://sarudeki.jp/hchibee/2012/05/27/%e8%aa%a4%e6%a4%8d%e3%83%9e%e3%82%b8%e3%81%8b%e3%82%93%e3%81%b9%e3%82%93/#comment-10
誤植マジかんべん | おっさんフリーター(36)がアプリ作る
>このブログにヒントがありそうです。参考にさせてもらいます



そして、結果は、どうか。

上記サイトに「誤植マジかんべん」の記事の通りですね。
私もソースコードを読みましたが、この記事の指摘は、あまり意識してませんでした。

だめでした。

そこで、別の手です。
というか、ほとんど、書籍を参考にしてアプリを作るというのはあきらめていて、
ダウンロードしたソースをCocos2DV2.0に対応できるかを調べてみます。



新規プロジェクトを作成して、Helloworld.m,.hを削除して、
ダウンロードしたファイルをドラッグします。
そして、必要な箇所(今は略)を変更して、コンパイルします。


Undefined symbols for architecture i386: "_OBJC_CLASS_$_GameScene", referenced from objc-class-ref in AppDelegate.o



というエラーが表示されます。
これは、単に、コンパイルをするリストにGameScene.mが載っていないことを示しています。
リストに登録することでこのエラーはなくなります。
これは、XCODEのパンパイルのリストに追加します。


そして、画像がないとか言うエラーを再度リソースフォルダに登録して、実行させると



2012-07-31 21:23:12.896 AsteroidTwo[3709:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'CCScheduler: You can't re-schedule an 'update' selector'. Unschedule it first'
*** First throw call stack:

今度は、CCSchedulerのえらーです。

もしかすると、Sceneの記載がまずいのかもしれません。





ここから先は、もう少し知識をつけてから作業をしたい思います。
そのため、しばらく書籍cocos2d for iPhone レッスンノートの移植と誤植と記載不備の修正は、休止です。









<その他の参考サイト>

アプリを作成するために、プログラムを組んでますが、いつになっても、正確で正式な名称などを覚えていません。

 クラスとメソッドくらいはわかりますが、+、ーの違いのクラスメソッド、インスタンスメソッドなど細分化されそうな名称は、なんとなくのひとくくりの名称で覚えています。

これが、あとで、グーグルで検索しようとするときに、上手く検索できない原因になります。

http://selection9.blogspot.jp/2011/02/objective-c.html
クラスメソッドとインスタンスメソッド

http://wisdom.sakura.ne.jp/programming/objc/objc11.html
クラスメソッド



posted by goodman at 17:53| Comment(3) | アイフォンiPhoneアプリ開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
サンプルコードを見たわけではないのでなんとも言えませんが、
AppDelegate.m, AppDelegate.h, main.mについては、
cocos2d 1.0と2.0でだいぶ異なってくるので、
テンプレートから新規作成したものをもとに差し替えることをオススメします。
Posted by moomindani at 2012年08月02日 21:09
moomindaniさん、アドバイスありがとうございます。
他のサイトの方で、自力でコードを修正してきちんと動かした方がいらっしゃいました。
たぶん、書籍のどこかにヒントがあるのでしょうね。

今度、Ver2.0新規テンプレートで作成して、ダウンロードしたファイルをインポートして実行してみます。
Posted by 管理人 at 2012年08月03日 22:46
がんばってください!
Posted by moomindani at 2012年08月04日 08:56
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。