2016-09-29 23 views
8

मैं अपने गेम की निर्देश स्क्रीन पर काम कर रहा हूं और उपयोगकर्ता को दिखाना चाहता हूं कि उन्हें स्क्रीन के एक निश्चित क्षेत्र को टैप करना चाहिए।SKShapeNode की अस्पष्टता को एनिमेट कैसे करें?

तो मैं एक एनीमेशन दिखाना चाहते हैं जहां

1) एक उंगली में और स्क्रीन के बाहर स्केलिंग, जिसके बाद - काम कर fine--

2) एक

3) एक पाठ flashin help-- की जरूरत है - आयत को बदलने अस्पष्टता और फिर (वहाँ दोहन करने के लिए दिखाने के लिए) जी कहावत है, "यहां टैप करें" -

help-- की जरूरत के लिए 1), मेरे पास इस (ठीक काम कर रहा):

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) के लिए, मेरे पास है:

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) 

प्रश्न:

मैं कैसे सिंक करते 1) और 2) ऐसे 1) के बाद पूरा हो गया है (उंगली दोहन एनीमेशन किया जाता है), rect.alpha मूल्य तो 1)0.1 को बदलने और उसके बाद 0.5 में वापस बदल दिया है कि और होता है और फिर rect.alpha को 0.1 (लूप में) में बदलने के लिए बदल दिया जाता है।

बहुत धन्यवाद !!

+0

मैं एक जवाब लिखने के लिए जा रहा था, लेकिन यह बहुत ज्यादा है और जो आपके कोड होना चाहिए। आप पहले से ही 'अनुक्रम' के बारे में जानते हैं। अपने अनुक्रम के अंत में आप 'fadeToAlpha' का उपयोग करने वाले आयताकार पर क्रियाओं के अनुक्रम को आग लगाने के लिए 'रनब्लॉक' क्रिया जोड़ते हैं। फिर इस कार्रवाई के अंत में, आप एक और ब्लॉक चलाते हैं जो उंगली को क्रियान्वित करता है। हमेशा के लिए दोहराव का उपयोग न करें, यह आपके लिए हमेशा के लिए दोहराएगा – Knight0fDragon

+0

तत्काल उत्तर के लिए धन्यवाद। क्या आप मुझे इस रेक्ट के अल्फा मान को बदलने के तरीके पर मार्गदर्शन कर सकते हैं, प्रत्येक 0.6 सेकंड, उंगली टैपिंग कार्रवाई के बाद 1) कृपया होता है? धन्यवाद ! – Has

+0

पहले से ही तुमसे कहा था कैसे करना है यह – Knight0fDragon

उत्तर

1

इस प्रयास करें:

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]))) 

अपनी पसंद के अनुसार अवधि को समायोजित करें

+0

देखें यह मदद करता है –

संबंधित मुद्दे