我是Cocos2d
的初学者,我遇到了一个似乎我无法自己解决的问题。我的问题是,如果我在预定方法中添加CCSprite
,添加图像的背景将是不透明的(黑色),即使原点是透明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
中的一个错误,我的代码中有一个错误,或者从预定方法中添加新的子进程是不安全的?
答案 0 :(得分:2)
在openShutters方法中,您指定interval = 0此语句在设置大于零的间隔值后创建问题