2012-03-04 14 views
0

こんにちは私は現在、iPhoneゲーム、トップダウンストラテジーRPG(Fire Emblemのようなもの)、タイルマップの設定、ゲームプレイレイヤーキャラクターと敵がスクリーン上に設定され、描かれて動き回ります。私の質問は、私のキャラクターを簡単に初期化する方法について私の頭を包み込むのを手助けすることです。Cocos2Dはシーンレイヤーからオブジェクトを呼び出すinit

:そのゲームシーンでは、私はちょうどのようにすることができ

//ヒーロークラス

-(id)init 
{ 
    if(self = [super init]) 
    { 
     characterClass = kHeroClass; 

     [self initAnimations]; 

     [self declarePlayer:Hero withLevel:1 withStrength:15 withDefence:14 withMindpower:15 withSpeed:26 withAgility:26 withLuck:12 withEndurance:10 withIntelligence:15 withElement:kFire withStatus:kStatusNormal]; 
    } 

    return self; 
} 

とを:私の文字initはそれだけでアニメーションをロードし、のような統計情報を設定し、簡単です

-(id) init 
{ 
    if((self=[super init])) 
    { 
     //the usual stuff 
     mainChar = [MainCharacter init]; 

     return self; 

    } 
} 
0(.mファイル内)

PlayerCharacter *mainChar; 
@property(retain)PlayerCharacter *mainChar; 

(.hファイルで)

しかし、私は、人々は、誰かが使用する構文明確に助けることができない場合には

mainChar = [MainCharacter init]; 

と同じになる

MainCharacter *mainChar = [MainCharacter alloc]; 

を使用してオンラインチュートリアルで見てきました。ありがとうございました:D素敵な一日を!

答えて

1

私はあなたが入門チュートリアルをすばやく読むことを検討すべきだと思います。この1は素晴らしいですし、構文とObjective-Cの意味に使われます:

http://cocoadevcentral.com/d/learn_objectivec/

alloc、オブジェクトのメモリを割り当てますとinitは、通常のコンストラクタのようなものを設定します。

MyObjectClass *instance = [[MyObjectClass alloc] init]; 

これは、それがdealloc方法で作成された同じクラスに解放する必要があります:あなたはまた、そのように使用することができますinitWith...スタイルの機能が表示されます。

オブジェクトを設定すると、それは本当に長いメソッド名declarePlayer:Hero withLevel...を使用しない方が良いですが、むしろ:

がオブジェクトを設定して、プロパティを変更する:あなたが慣れたら

Player *player = [[Player alloc] init]; 
player.health = 10; 
player.armor = 20; 
... 

をObjective-Cを言語として、cocos2dとその他のコードをタックする方がはるかに簡単です。そのためには、programming guideにアクセスし、www.learn-cocos2d.comのようなウェブ上のチュートリアルを見つけることができます。

+0

私は現在、19人のプレイヤーがコントロールするキャラクターを持っているので、私はその長い方法で統計を設定していました。それぞれ50-106の敵と、それぞれ8-10のstatタイプがあります) ははは!しかし、ええ、私はちょうど私は各文字が作成されるときに最小限の情報を宣言する必要がありますように統計電卓の方法を構築するつもりだと思う。そのページのためにたくさんありがとう、それはいくつかのものをクリアするのに役立ちました。 –

+0

私のプロジェクトでは、すべてのオブジェクトが拡張された基底クラスを持っていたので便利でした。 –

+0

私もあまりにも、GameObject - > GameCharacter - > PlayerCharacter - > diffHeroCharactersもGameCharacter - > EnemyCharacter - > diffEnemyCharacter haha​​しかし、ありがとう、たくさんのdood今私は続けることができます:D haha​​ –

関連する問題