actionscript 3 - as3 conidtional statement not working -
मेरे कोड में यहां:
var manTimer: टाइमर = नया टाइमर (1700,5 ); ManTimer.addEventListener (टाइमरइवेंट। टीएमईआर, चालमन); फ़ंक्शन चालन मैन (ई: टाइमर एवेन्ट): शून्य {var मेनएक्स: ट्विल = न्यू ट्विल (आदमी, "एक्स", रेग्यूलर। अंत में, मैन.एक्स, मैन.एक्स - 100, 1.5, सच); } फ़ंक्शन प्रारंभमैन (ई: माउसईवेंट): शून्य {manTimer.start (); Var मेनएक्स: ट्विल = नए टिविइन (आदमी, "एक्स", रेगुलर.इज़इन, मैन.एक्स, मैन.एक्स - 100, 1.5, सच); } अगर (man.x> 58 9) {paper.btnElScorcho.addEventListener (MouseEvent.CLICK, startMan); Paper.btnTheGoodLife.addEventListener (MouseEvent.CLICK, प्रारंभमैन); }
मैं इसे प्राप्त करने का प्रयास कर रहा हूं, जब btnElScorcho या btnTheGoodLife पर क्लिक किया जाता है तो यह मेरे "आदमी" एमसीसी को मंच पर ले जाएगा। यह 590 पीएक्स से शुरू होता है और -10 पीएक्स पर समाप्त होता है। वह भाग काम कर रहा है।
जो काम नहीं कर रहा है वह मेरी सशर्त बयान है जो इसे केवल "आदमी" को स्थानांतरित करने के लिए कहता है अगर वह 590 या उससे अधिक की एक्स स्थिति में है, क्योंकि, जब 2 बटनों में से एक फिर से क्लिक किया जाता है, मैं उसे बाहर नहीं ले जाना चाहता / चाहती अगर वह पहले से ही है या वह पहले से ही बाहर निकल रहा है।
इसलिए किसी कारण से, "मैन" तब भी कदम होगा जब बटन क्लिक किए जाते हैं दूसरी बार और अजीब तरह से, "आदमी" फ़ंक्शन में निर्धारित सामान्य 5 गुना के विपरीत, केवल दो बार ले जाएगा।
शायद मैं जांचने के लिए अगर कथन को बदल सकता हूँ कि क्या बटन पहले ही विरोध के रूप में क्लिक किया गया है
एक छोटी सी ग़लतफ़हमी है । AddEventListener हमेशा एक क्लिक के लिए, हमेशा के लिए हैंडलर समारोह रजिस्टर करेंगे आप क्या करना चाहते हैं, अपने कार्यक्रम की शुरुआत में एक बार कॉल ऐडएवेंट एलिसर कॉल करें, और इसके बजाय हेन्डलर फ़ंक्शन के अंदर की स्थिति की जांच करें ताकि अगर वह गलत हो, तो हैंडलर कोड छोड़ दिया जाता है।
Comments
Post a Comment