4

2D の iPhone ゲームを作りたいと思っています。いくつかの調査を行ったところ、Cocos2D が最良の選択肢のように思えます。Cocos2D に取り組む前に、Objective-C の知識がどれだけ必要かを考えているだけです。Objective-C でのプログラミングの基礎を知っています。基本的なコマンド ライン ツール アプリを作成できます。私はいくつかの iOS SDK チュートリアルを実行しましたが、現在フォローしているチュートリアルは約 3 年前のものであるため、iOS アプリの作成方法を尋ねられてもわかりません。

Cocos2D を使用する前の事前学習として何が必要ですか? また、何か良いリソースを知っている人はいますか? 私は視覚的に学習する方が多いので、本やブログの投稿よりもビデオの方が役立つと思います。

お時間とご協力いただきありがとうございます:)

4

5 に答える 5

3

必須の事前学習はありません。これを使って。何かに行き詰まった場合は、調べたり、ググったり、質問したりしてください。

つまり、一般的な概念を実際に適用しなければならない状況に陥らずに、一般的な概念を学ぶことに時間を無駄にしないでください。

類推: 車を運転するのに機械工学の博士号は必要ありませんが、何か問題が発生したときに役立つかもしれません。しかし、そのような場合は、99% の人がしていることを実行してください: 助けを求めてください。車で発生する可能性のある潜在的な問題を最初に学ぶことはほとんど意味がありません。発生したときに対処します。

また、フラストレーションはゲームの一部であり、避けることはできません。:)

于 2013-02-05T19:12:20.507 に答える
1

どのくらいの Objective-C の知識が必要か

多くの。このような大きなプロジェクトを作成する前に、Objective-C をマスターする必要があります。

また、Objective-C を理解するには、C に関する十分な知識が必要です。

(また、Cocos2D でサードパーティ フレームワークを使用する場合は、Foundation や UIKit などの基本的な既定のライブラリをよく理解しておいてください。)

于 2013-02-05T15:48:39.560 に答える
0

それに対する答えは、あなたが誰であるか、あなたの労働倫理、そしてあなたがその努力に同意する準備ができている努力に本当に依存します。他のオブジェクト指向言語/フレームワークとの強固な基盤があれば、あなたの探求は可能であると私は主張します。まず、無料で入手できるゲームを「転用」します(RayWenderlichSteffenItterheimからの多くの優れた例とチュートリアルがあります。ゲーム仕様から「離れすぎていない」サンプルプロジェクトを選択し、転用します。そのため、Objective-Cと、理解する必要のあるいくつかの基本的なフレームワークに侵入します。専念してそれに固執する場合は、習得します。また、SOルール:ここで多くの回答が利用可能です:適切な質問により、多くの問題を指摘するための役立つヒントと解決策。

ps. My biggest learning curve turned out to be xCode, a truly arcane and dogma-ladden IDE. I since switched to another IDE and my productivity has gone back to respectable levels.

于 2013-02-05T16:00:27.650 に答える
0

最近、Objective-C と cocos2d を同時に手に入れました。入門書として、最初に Objective-C について多くのことを読みました。構文を除けば、その知識のほとんどは私のゲームでは使用されていません。cocos2d のチュートリアルを始める前に、objective-c について学ぶべき最も重要なことは、メモリ管理とデバッグです。

使用している言語によっては、参照カウントのメモリ管理に慣れるまでに数分かかる場合があります。一般的なルールは、割り当て/コピー (自動解放なし) または保持した場合、ある時点でそれを解放する必要があり、現在のスコープを超えて何かを使用する必要がある場合は、それを保持する必要があります。オブジェクトの dealloc メソッドを上書きして、作成/保持したものをすべて解放する cocos2d の例をいくつか見ることができます。

デバッグにも慣れるのに1分かかりました。キャッチされなかった例外をログに記録するために使用できる高レベルの try/catch ブロックを追加すると役立ちます。ゾンビを有効にするなど、プロジェクトの設定の一部を調査/いじって、バグをより適切にキャッチできるようにすることもできます。Objective-C でのクラッシュの大きな原因は、既に割り当て解除されたオブジェクトにメッセージを送信することです。理解できないbadaccessエラーに出くわすと、基本的に、原因を突き止めるために、このようなものにひざまずくことを余儀なくされます.

NSArray および NSDictionary オブジェクトがどのように機能するか、それらが自動的に保持/解放する方法、およびオブジェクトのみを保持する方法 (プリミティブ値を保持しない) についてよく理解することで、役立つ他の純粋に客観的な c の知識が得られます。float/int および array/dictionaries を操作するには、プリミティブを NSNumber オブジェクトのようなものに変換する必要があります。これは、少し調査するだけでかなり簡単に実行できます。また、plist を保存/ロードする方法を知っていることも役に立ちます。NSArray および NSDictionary オブジェクトでこれを行うための便利なメソッドがあります。これと NSFileManager に関する少しの知識があれば、ゲームの状態を保存/ロードするのに十分なはずです。コーディングを本当に凝った/きれいにしたい場合は、objective-c のオブザーバーについても学びます。KVO は、特定のオブジェクト プロパティの変更時に UI を自動的に更新するのに最適です。たとえば、私の HUD はプレイヤー オブジェクトのライフを KVO するので、ライフの値が変わると HUD が自動的に更新されます。これにより、よりクリーンな MVC タイプのアプリケーションを作成できます。プロパティの変更だけでなく、他のタイプのメッセージをリッスンするように登録することもできます。リッスンが完了したら、必ずリスナーの登録を解除してください。

私の最後のアドバイスは、常に XCode の警告に注意を払うことです。原因がわからない場合は、その理由を理解する必要があります。無視できる単純なものもあれば、他の方法では追跡できないバグを引き起こすものもあります。たとえば、コードで関数 max() を使用したことがありますが、xcode から、理解できないという奇妙な警告が表示されました。これにより、スタックが破損し、プログラムに大混乱が生じました。max() を MAX() に変更したところ、原因不明の 3 つまたは 4 つのバグがすぐに消えました。この種のことは、数週間後戻りする可能性があり、すぐに見つけないと、コードのすべての部分を徹底的に調べる必要があります。

残りのほとんどは、cocos2d コード/例を見ることで学習できます。幸運を。

于 2013-02-05T19:44:26.340 に答える
0

Free flow のようなゲームを作成するには、Objective-C の中級知識があれば十分です。しかし、Temple Run のようなものを作成する予定がある場合は、Objective -C、Open-Gl、および cocos2d に関する十分な知識が必要です。

私がお勧めするサイトは raywenderlich.com です。そこから始めたのですが、基本レベルから上級レベルまでのチュートリアルがあります。

お役に立てれば

于 2013-02-05T15:46:42.120 に答える