2016-09-29 44 views
8

Oyunumun talimatları ekranında çalışıyorum ve kullanıcıya ekranın belirli bir alanına dokunmaları gerektiğini göstermek istiyorum. fine--SKShapeNode'un opaklığı nasıl canlandırılır?

2) Bir çalışma -

1) bir parmak ve ekranın dışına ölçekleme, izler nerede

Yani bir animasyon göstermek istiyorum

3) bir metin flashin Yardım eder gereken - dikdörtgen değişen opaklık ve sonra, (orada dokunun göstermek için) g deyişi, "buraya dokunun" - 1) için

Yardım eder gerekmez, ben bu() iyi çalışıyor:

finger = SKSpriteNode(texture: fingerTxt) 
    finger.position = CGPoint(x: 330, y: 450) 
    finger.zPosition = 10 
    InstHolderNode.addChild(finger) 

    let fingerTapScaleDown = SKAction.scale(by: 0.6, duration: 0.7) 
    let fingerTapScaleUp = SKAction.scale(by: 1.6, duration: 0.7) 
    let fingerScalingSequence = SKAction.sequence([fingerTapScaleDown,fingerTapScaleUp]) 

    let fingerTapScaleForever = SKAction.repeatForever(fingerScalingSequence) 
    finger.run(fingerTapScaleForever) 

2)için, ben var:

var rect = SKShapeNode(rectOf: CGSize(width: 150.0, height: frame.height * 2)) 
    rect.position = CGPoint(x: 300, y: 100) 
    rect.fillColor = SKColor.brown 
    rect.alpha = 0.5 
    InstHolderNode.addChild(rect) 

Soru:

Ben senkronize nasıl 1) ve 2)1) (parmak vurma animasyonu yapılır) tamamlandıktan sonra, rect.alpha değeri 0.1 değiştirmek ve sonra 0.5 geri değiştirdi ve daha sonra 1) için böyle olur ve daha sonra rect.alpha sürekli olarak 0.1 (bir döngüde) olarak değiştirilir.

Çok teşekkürler!

+0

bir cevap yazacaktım, ama çok fazla olduğunu ve bir şeyler kodunu olmalıdır. Zaten 'dizi 'hakkında biliyorsunuz. Sıralamanızın sonunda, "fadeToAlpha" işlevini kullanan dikdörtgenin üzerinde bir dizi eylemi tetiklemek için bir "runBlock" eylemi eklersiniz. Sonra bu eylemin sonunda, fingerScaling eylemini tetikleyen başka bir blok çalıştırırsınız. Sonsuza kadar tekrar kullanmayın, bu sizin için sonsuza kadar tekrar edecektir – Knight0fDragon

+0

Hızlı cevap için teşekkürler. Bu rektin alfa değerini nasıl değiştirebileceğinizi, lütfen her 0,6 saniyede parmağınızla dokunma eylemi 1) gerçekleştiğinde bana rehberlik edebilir misiniz? Teşekkürler ! – Has

+0

zaten nasıl – Knight0fDragon

cevap

1

bu deneyin:

var fadeOut = SKAction.fadeAlpha(to: 0.1, duration: 0.5) 
    var fadeIn = SKAction.fadeAlpha(to: 0.5, duration: 0.5) 

    rect.run(SKAction.repeatForever(SKAction.sequence([fingerScalingSequence, fadeOut, fadeIn]))) 

beğeninize göre sürelerini ayarlayın

+0

Umut bu yardımcı olur –