0

初めて Cocos2D を使用し、最初のシーンをセットアップしようとしています。このチュートリアルhttp://www.raywenderlich.com/15267/how-to-make-a-platform-game-like-super-mario-brothers-part-2に従ったところ、完全に機能しました。さらに、GameLayer のコードをコピーして、Level0 のテンプレートとして使用し、適切な値に合わせて変更しました。

プライベート インターフェイスでエラーが発生します 「'{' トークンの前に '(' の識別子が必要です」

#import "Level0.h"

#import "Player.h"

@interface Level0 ()
{     /// this is where I'm getting the error
    CCTMXTiledMap* map;

    Player* player;

    CCTMXLayer* walls;
    CCTMXLayer* portalWalls;

    BOOL gameOver;
}

@end


@implementation Level0
....

私は何百万回もプライベート インターフェイスをコーディングしてきましたが、チュートリアル プロジェクトとまったく同じように見えます。これがエラーにフラグを立てる理由を知っている人はいますか?

4

1 に答える 1

1

不適切な構文は、実際にはこれらのヘッダー ファイルの 1 つにあります。問題のあるヘッダーを単にインクルードするのではなく、それ自体をコンパイルすることで追跡できる場合があります。s をコメントアウトしてから#include、Xcode のファイル インスペクターで「ファイル タイプ」を「デフォルト - C ヘッダー」から「Objective-C」ソースに変更します。

ここに画像の説明を入力
ここに画像の説明を入力

メンバーとしてターゲットに追加します。

ここに画像の説明を入力

次にコンパイルします。リンカ エラーも発生する可能性がありますが、これと同じ "Expected identifier" エラーも発生するはずで、問題の実際のサイトの近くのどこかを指しています。

後でこれらの設定を元に戻すことを忘れないでください。

于 2013-07-18T21:44:36.377 に答える