2014-02-06 5 views
6

Im Ausführen von 3 SKActions in einer Sequenz, die ersten beiden laufen gut, aber die FadeInWithDuration verblasst nicht im Knoten, der Knoten wird gerade hinzugefügt, wenn die Ansicht geladen wird. Muss ich den ersten Alphakanal für den Knoten auf 0 setzen? Kann jemand mit Problemen helfen?SKSpriteNode wird nicht mit SKAction in Folge fadeInWithDuration Sprite Kit

- (void)setUpButtonStart 
{ 
    SKSpriteNode *buttonStart = [SKSpriteNode spriteNodeWithImageNamed:@"start"]; 
    buttonStart.name = @"buttonStart"; 
    buttonStart.position = CGPointMake(900,50); 
    [self addChild:buttonStart]; 

    SKAction *wait = [SKAction waitForDuration:2.5]; 
    SKAction *readIntro = [SKAction playSoundFileNamed:@"intro.mp3" waitForCompletion:NO]; 
    SKAction *fadeIn = [SKAction fadeInWithDuration:1.0]; 

    SKAction *sequence = [SKAction sequence:@[wait, readIntro, fadeIn]]; 

    [buttonStart runAction: sequence]; 
} 
+0

Ich würde versuchen, Alpha vor dem Ausführen der Fade-Aktion auf 0 setzen. Diese – LearnCocos2D

Antwort

18

Wie in der documentation angegeben, ändert sich die Aktion der fadeInWithDurationalpha Eigenschaft des Knotens von seinem aktuellen Wert zu 1.0 (100% Opazität).

Aus diesem Grund wird die Einblendung nicht angezeigt - Ihre Aktion wird nichts bewirken, da der Standardalphawert eines Knotens 1,0 ist und von 100% auf 100% geht.

Als Steffen in seinem Kommentar vorgeschlagen hat, alles, was Sie tun müssen, ist buttonStart.alpha = 0.0 gesetzt, bevor die Aktion ausgeführt wird.

+0

ist die beste Antwort, ich glaube, Sie es als beste Antwort akzeptieren kann;) – BSevo

+0

Ja, das funktioniert gut, vielen Dank für das Clearing, dass bis :) – Stefan

+0

Was passiert, wenn Sie nicht den ganzen Weg zu alpha verblassen wollen = 1? Was, wenn Sie nur bis Alpha = .8 verblassen möchten? – zeeple