2012-11-01 16 views
5

दबाएं, मैं एक बटन को कोड करने के तरीके के बारे में स्पष्ट उदाहरण के लिए थोड़ी देर के लिए खोज कर रहा हूं जो उपयोगकर्ता को दबाए रखने और पकड़ने की अनुमति देता है। हालांकि ऐसा होता है मैं कुछ कोड निष्पादित करना चाहता हूं।स्टार्लिंग एएस 3 टच इवेंट प्रेस दबाएं और

मैंने टचवेन्ट टच और टचफेस लागू किया है। बीजन लेकिन यह केवल एक बार आग लगती है।

मुझे इसे कार्यान्वित करने के तरीके पर स्पष्ट स्पष्टीकरण नहीं मिल रहा है। किसी भी मदद की सराहना की है।

btnPress.addEventListener(TouchEvent.TOUCH, isPressed); 

private function isPressed(event:TouchEvent){ 
    var touch:touch = event.getTouch(btnPress, TouchPhase.BEGAN); 
    if(touch) 
    { 
     trace("pressed"); 
    } 
} 

उत्तर

10

स्टार्लिंग TouchEvent और TouchPhase शुरू में थोड़ा भ्रमित कर सकते हैं। TouchPhase.BEGAN केवल को पर आग लगती है, जब उपयोगकर्ता स्क्रीन को छूना शुरू करता है। अगर आप बटन को निष्पादित करना चाहते हैं, जबकि बटन पर उंगली है, तो TouchPhase.BEGAN चरण पर निष्पादन करना प्रारंभ करें और TouchPhase.ENDED चरण पर निष्पादन करना बंद करें (जो उपयोगकर्ता केवल स्क्रीन को छूने पर रोकता है)।

btnPress.addEventListener(TouchEvent.TOUCH, isPressed); 

private function isPressed(event:TouchEvent):void 
{ 
    var touch:Touch = event.getTouch(btnPress); 

    if(touch.phase == TouchPhase.BEGAN)//on finger down 
    { 
     trace("pressed just now"); 

     //do your stuff 
     addEventListener(Event.ENTER_FRAME, onButtonHold); 
    } 

    if(touch.phase == TouchPhase.ENDED) //on finger up 
    { 
     trace("release"); 

     //stop doing stuff 
     removeEventListener(Event.ENTER_FRAME, onButtonHold); 
    } 
} 

private function onButtonHold(e:Event):void 
{ 
    trace("doing stuff while button pressed!"); 
} 

आशा इस मदद करता है बातें एक छोटे से स्पष्ट:

उदाहरण के लिए, आपके मामले में आप कुछ की तरह कर सकता है!

+0

धन्यवाद। टचफेस के साथ शुरू करने के लिए थोड़ा उलझन में हैं। – puks1978

+0

महान, धन्यवाद! – ShoulO

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