我正在尝试在屏幕上添加一系列浆果,让它们向左移动。它引用了包括级别的plist。我从Ray Winderlich太空游戏教程改编了这个。 屏幕上没有出现任何精灵。 :/
-(void)updatePinkBerries:(ccTime)dt
{
CGSize winSize = [CCDirector sharedDirector].winSize;
// if (levelManager.gameState != GameStateNormal)
// return;
//
// if (![levelManager boolForProp:@"SpawnAsteroids"])
// return;
double curTime = CACurrentMediaTime();
if (curTime > nextPinkBerrySpawn)
{
// Figure out the next time to spawn a berry
float spawnSecsLow = [levelManager floatForProp:@"ASpawnSecsLow"];
float spawnSecsHigh = [levelManager floatForProp:@"ASpawnSecsHigh"];
float randSecs = randomValueBetween(spawnSecsLow, spawnSecsHigh);
nextPinkBerrySpawn = randSecs + curTime;
float randY = randomValueBetween(0.0, winSize.height);
float moveDurationLow = [levelManager floatForProp:@"AMoveDurationLow"];
float moveDurationHigh = [levelManager floatForProp:@"AMoveDurationHigh"];
float randDuration = randomValueBetween(moveDurationLow, moveDurationHigh);
// Create a new berry sprite
CCSprite *pinkBerry = [pinkBerries nextSprite];
[pinkBerry stopAllActions];
pinkBerry.visible = YES;
// Set its position to be offscreen to the right
pinkBerry.position = ccp(winSize.width + pinkBerry.contentSize.width/2, randY);
// Move it offscreen to the left, and when it's done, call removeNode
[pinkBerry runAction:
[CCSequence actions:
[CCMoveBy actionWithDuration:randDuration position:ccp(-winSize.width- pinkBerry.contentSize.width, 0)],
[CCCallFuncN actionWithTarget:self selector:@selector(invisNode:)], nil]];
}
}
答案 0 :(得分:0)
检查nextPinkBerrySpawn是否应该是它应该是什么。如果curTime不大于nextPinkBerrySpawn那么它就不会产生任何东西。来自SGSK的代码具有很强的适应性,如果一切设置正确,您应该可以正常运行