0

Ok!これは、ゲームを初期化したメインのシーンであり、他のレイヤーから設定したい を持つ、ParallaxBgTestLayer呼び出された自己の子として追加されるクラスがあります。DigBackgroundpropertygameplayLayer

gameplayしたがって、基本的には、レイヤーから別のクラスの子の子にアクセスしたいと考えています。これを行うための好ましい方法は何ですか? タグを使用して他のクラスの子にアクセスすることさえ可能ですか?

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

        ParallaxBgTestLayer *bgLayer = [ParallaxBgTestLayer node];
        [self addChild:bgLayer z:kParallaxBackgroundLayer];

        DigGameplayLayer *gameplayLayer = [DigGameplayLayer node];
        [self addChild:gameplayLayer z:kGameplayLayer];

    }
    return self;
4

2 に答える 2

0

次の手順を使用してそれを行います。

  • もう 1 つのパラメーター ParallaxBgTestLayer を取得するために、DigGameplayLayer の init メソッドを更新/オーバーライドします
  • たとえば、ゲームプレイの init メソッドの名前を DigGameplayLayer initOnBackground:(ParallaxBgTestLayer *) backgroundLayer に変更します。
  • DigGameplayLayer の実装ファイルに ParallaxBgTestLayer.h をインポートする
  • ParallaxBgTestLayer の任意のローカル変数 (ParallaxBgTestLayer.h ファイルに追加した変数) へのアクセス

1 つの場所からのみアクセスする必要がある場合は、シングルトン オブジェクトを作成するよりも優れていると思います。アプリの複数の場所でシングルトンが必要な場合は、シングルトンを使用します。

これが役立つことを願っています...

于 2013-05-01T23:41:42.453 に答える