在我创作的节奏应用程序中,我为每个正确播放的键设置了一个粒子发射器。
这是触发此操作的代码:
-(void) enableEmitterForNoteValue:(int)noteValue WithPercentage:(double)percentage {
int index = noteValue - 36;
SKEmitterNode *emitter = [_emitters objectAtIndex:index];
emitter.particleColorSequence = nil;
emitter.particleColorBlendFactor = 1.0;
if (percentage == kNotePerfectHitPercentage)
[emitter setParticleColor:[NSColor whiteColor]];
else if (percentage == kNoteOkayHitPercentage || percentage == kNoteEarlyHitPercentage)
[emitter setParticleColor:[NSColor yellowColor]];
else if (percentage == kNoteLateHitPercentage)
[emitter setParticleColor:[NSColor orangeColor]];
[emitter resetSimulation];
[emitter setParticleBirthRate:200];
}
问题:当相同音高的音符(使用相同的键演奏)快速连续发生时,发射的粒子会被重置,因为我称之为resetSimulation:
。如果我不打电话给resetSimulation:
,那么粒子只会出现一次。有办法解决这个问题吗?以下是快速连续发布的笔记示例。