1

私は初心者ですがCocos2d、自分では解決できないと思われる問題に遭遇しました。私の問題はCCSprite、スケジュールされたメソッドに a を追加すると、元が透明な PNG であっても、追加された画像の背景が不透明 (黒) になることです。しかし、コードは私がやろうとしていることをよりよく説明しているので、

- (void) openShutters 
{
  NSInteger randomTime = (arc4random() % 3) + 2;
  [self schedule:@selector(openShutter) interval:0 repeat:1 delay:randomTime];
}

- (void) openShutter 
{
  NSInteger randomShutter = (arc4random() % [shutters count]);

  CCSprite *soldier = [CCSprite spriteWithFile:@"soldier.png"];
  soldier.anchorPoint = CGPointMake(0, 1);
  soldier.position = ccp(0, winSize.height);
  [self addChild:soldier];

  [self unschedule:@selector(openShutter)];
  [self openShutters];
}

ここでの奇妙な問題は、メソッドに移動CCSprite *soldier = [CCSprite ...するopenShuttersと、必要に応じてスプライトが透明な背景で表示されることです。これは のバグcocos-2dですか、私のコードのバグですか、それともスケジュールされたメソッドから新しい子を追加するのは安全ではありませんか?

4

1 に答える 1

2

openShutters メソッドでは、interval=0 を割り当てています。このステートメントは、間隔値をゼロより大きい値に設定した後に問題を引き起こします。

于 2012-12-20T10:01:18.723 に答える