फ्लॅश गेम्सची निर्मिती. फ्लॅश वापरून क्लायंट अनुप्रयोग प्रोग्रामिंग

फोनवर डाउनलोड करा 13.08.2019
फोनवर डाउनलोड करा

फ्लॅश तंत्रज्ञान वापरण्यासाठी पर्यायांपैकी एक म्हणजे क्लायंटच्या बाजूने लहान अनुप्रयोग तयार करणे. उदाहरण म्हणून, लेख कार विम्याची गणना करण्यासाठी वेबसाइटवर कॅल्क्युलेटर तयार करण्याविषयी चर्चा करतो.

मॅक्रोमीडिया () ने त्याच्या फ्लॅशने बाजारपेठेतील अपेक्षा यशस्वीपणे जिंकल्या आणि एक उत्कृष्ट उत्पादन तयार केले. तथापि, मुद्दा एका, अगदी चांगल्या कार्यक्रमात नाही. आज, जीवनात अनेकदा माहिती तंत्रज्ञान व्यावसायिकांना हातातील कामावर अवलंबून साधने निवडण्याची आवश्यकता असते आणि काहीवेळा तुम्हाला काही दिवसांत नवीन भाषा किंवा नवीन सॉफ्टवेअर उत्पादनावर प्रभुत्व मिळवावे लागते. वेब साइट्स तयार करण्याच्या क्षेत्रातील काही समस्या सोडवण्यासाठी खाली प्रस्तावित केलेल्या पद्धतींना जास्त अभ्यासाची आवश्यकता नाही. एक अनुभवी प्रोग्रामर त्वरित त्यांच्या विकासामध्ये हे तंत्र वापरू शकतो. प्रोग्रामिंगचा कमी अनुभव असलेल्या व्यक्तीला मूलभूत संकल्पना समजून घेण्यासाठी थोडा वेळ लागेल, त्यानंतर ते अनुभव घेतल्यानंतर त्यांच्या डिझाइनची जटिलता हळूहळू वाढवू शकतात.

या लेखात आपण फ्लॅश तंत्रज्ञान वापरण्याचा एक अतिशय मनोरंजक मुद्दा पाहू - क्लायंटच्या बाजूने लहान अनुप्रयोग तयार करणे. हे प्रोग्रामर आणि डिझाइनर दोघांसाठी उपयुक्त ठरू शकते. प्रोग्रामर अनेकदा फ्लॅशने ऑफर केलेल्या शक्यतांकडे अन्यायकारकपणे दुर्लक्ष करतात, कारण त्यांच्याकडे आधीच बरीच शक्तिशाली साधने आहेत. फ्लॅशचा वापर केवळ परिचय, मेनू आणि सुंदर वेबसाइट डिझाइन घटक तयार करण्यासाठी केला जाऊ शकत नाही हे डिझाइनरना कधीकधी लक्षात येत नाही. अशा प्रकारे, हा लेख त्यांच्यासाठी आहे जे त्यांच्या शस्त्रागारात नवीन साधने जोडण्यास आळशी नाहीत आणि नवीन साधने शिकण्यास घाबरत नाहीत.

फ्लॅश कुठे वापरायचे

वेब साइटच्या बांधकामादरम्यान, आपल्याला सतत एक किंवा दुसरे तंत्रज्ञान निवडण्याची समस्या सोडवावी लागते. अंतिम निवड, नियमानुसार, दोन घटकांवर अवलंबून असते: हातात असलेले कार्य आणि विकसक किंवा विकास संघाच्या मालकीचे साधनांचे शस्त्रागार.

नेटवर्क प्रोग्रामिंग समस्यांचे निराकरण करण्यासाठी तीन पध्दती आहेत: एकतर ऍप्लिकेशन सर्व्हरवर प्रवेश न करता क्लायंटच्या मशीनवर पूर्णपणे चालते किंवा असे ऍप्लिकेशन ऑपरेशन्सचा फक्त काही भाग करते, बाकीचे सर्व्हरवर सोडले जाते किंवा जवळजवळ सर्व काम केले जाते. सर्व्हर प्रोग्रामद्वारे केले जाते.

सर्व्हरच्या बाजूने काही समस्या सोडवणे श्रेयस्कर आहे आणि काहीवेळा पर्याय नसतो. परंतु प्रोग्रामर नेहमी सर्व्हरवरील लोड कमी करण्याचा प्रयत्न करतात ...

तर, आम्ही फ्लॅश वापरून क्लायंट ऍप्लिकेशन्स तयार करण्याकडे लक्ष देऊ. हे तंत्रज्ञान कधी वापरायचे आणि JavaScript, Java, VBScript या पारंपारिक पद्धतींकडे वळणे केव्हा चांगले आहे यावर चर्चा करूया.

प्रथम, आपल्याला हे स्पष्ट करणे आवश्यक आहे की फ्लॅश मोठ्या अनुप्रयोगांच्या प्रोग्रामिंगसाठी डिझाइन केलेले नाही. ActionScript आवृत्ती 4 प्रोग्रामिंगबद्दल जाणकारांच्या दृष्टीकोनातून खूपच क्लिंक आहे. मूव्ही प्लेबॅकचा क्रम नियंत्रित करणे, सर्व्हरवरून संसाधने डाउनलोड करणे आणि मूव्ही आणि वापरकर्ता यांच्यातील परस्परसंवादावर प्रक्रिया करणे हा त्याचा मुख्य उद्देश आहे. या भाषेत ॲरे तयार करण्यासाठी आणि कार्य करण्यासाठी आणि गणितीय कार्ये प्रक्रिया करण्यासाठी साधने नाहीत; स्ट्रिंग्ससह काम करण्याचे साधन अतिशय माफक आहेत. आवृत्ती 5 मध्ये, भाषा नाटकीयरित्या बदलली आहे आणि इंटरनेटसाठी इतर प्रोग्रामिंग भाषांसारखीच बनली आहे, परंतु आत्ता आम्ही ActionScript आवृत्ती 4 मध्ये बनवलेले उदाहरण पाहू, कारण ही आवृत्ती नवशिक्या प्रोग्रामर आणि वेब डिझायनर्ससाठी सोपी आहे. समजून घेणे. त्याच वेळी, काही अनुभव प्राप्त केल्यानंतर पाचव्या आवृत्तीवर स्विच केल्याने समस्या उद्भवणार नाहीत.

तर, प्रोग्रामिंग क्लायंट ऍप्लिकेशन्समधील मुख्य स्थान, ज्यामध्ये फ्लॅश तंत्रज्ञानाला कोणतेही प्रतिस्पर्धी नाहीत, साध्या गणितीय गणना आणि मजकूर पार्सिंगसह लहान ऍप्लिकेशन्स म्हणून परिभाषित केले जाऊ शकतात, जेथे एक अद्वितीय इंटरफेस आवश्यक आहे आणि विकास वेळ मर्यादित आहे. हे विविध कॅल्क्युलेटर आहेत जे सिस्टम, गेम, आलेख प्लॉटिंगसाठी साधने आणि साध्या रेखाचित्रांचे परीक्षण करतात (येथे आम्ही अशा अनुप्रयोगांबद्दल बोलत नाही जे सर्व्हरशी संवाद साधल्याशिवाय करू शकत नाहीत).

अशा अनुप्रयोगांसाठी फ्लॅश वापरणे वापरकर्ता इंटरफेस तयार करताना डिझाइनरसाठी (केवळ त्याच्या कल्पनेद्वारे मर्यादित) अनेक शक्यता उघडते. एका समस्येचे निराकरण करण्यासाठी अनेक तंत्रज्ञान एकत्र करण्याऐवजी, आपण एका प्रोग्राममध्ये सर्वकाही करू शकता - फ्लॅश मूव्ही संपादक आणि परिणाम लगेच डीबग करा. शिवाय, मॅक्रोमीडियाच्या मते, जवळजवळ 95% इंटरनेट वापरकर्त्यांकडे फ्लॅश चित्रपट प्ले करण्यासाठी आधीच एक प्लेअर स्थापित केला आहे. आता आपण एका विशिष्ट उदाहरणाकडे जाऊ या जे विशिष्ट अनुप्रयोग विकसित करण्यासाठी फ्लॅश तंत्रज्ञानाचा वापर प्रदर्शित करू शकते.

समस्येचे सूत्रीकरण

उदाहरण म्हणून, आम्ही कार विम्याची गणना करण्यासाठी कॅल्क्युलेटर तयार करू. जेव्हा एका विमा कंपनीची वेबसाइट विकसित केली जात होती, तेव्हा ग्राहकांनी, विशेषतः, मोटार वाहन विम्यासाठी विमा पेमेंटची रक्कम, नागरी दायित्व पॉलिसीची किंमत आणि काही प्रकारच्या मालमत्ता विम्याची त्वरीत गणना करण्यासाठी कॅल्क्युलेटर तयार करण्याची इच्छा व्यक्त केली. आम्ही फक्त पहिल्या कार्याचा विचार करू - कार विम्याची गणना करणे (दुसरा केस खूपच सोपा आहे आणि इतका मनोरंजक नाही).

समस्या परिस्थितीच्या विश्लेषणातून असे दिसून आले की, लक्षणीय आरक्षणे आणि अपवाद असूनही, मोटार विम्याची गणना करण्याची योजना अगदी स्पष्टपणे सत्यापित केली गेली आहे आणि सहजपणे अल्गोरिदम केली जाऊ शकते.

अंमलबजावणी साधन निवडताना, खालील परिस्थिती विचारात घेतल्या गेल्या.

  • गणितीय आकडेमोड अगदी सोपी होती आणि अंकगणितीय क्रिया, परिस्थिती तपासणे, पूर्ण संख्येपर्यंत पूर्ण करणे इ.
  • इंटरनेटवर प्रचलित असलेल्या प्रश्नावली फॉर्मच्या पारंपारिक इंटरफेसपासून दूर जाणे इष्ट होते. वापरकर्त्याला इंटरफेससह "प्ले" करण्याची संधी देणे आवश्यक होते, प्रारंभिक गणना मूल्ये त्याला पाहिजे तितक्या वेळा बदलणे आणि परिणाम लगेच मिळणे आवश्यक होते. सर्व त्रुटींवर त्वरित प्रक्रिया करण्याचा सल्ला देण्यात आला.
  • गणना करताना सर्व्हरशी संवाद टाळणे इष्ट होते.
  • स्वाभाविकच, या ओळींचा लेखक फ्लॅश तंत्रज्ञानाशी आधीच परिचित होता आणि त्याला ActionScript मध्ये प्रोग्रामिंगचा अनुभव होता या कारणाने देखील भूमिका बजावली.

अनन्य इंटरफेससह पूर्णपणे स्वतंत्र अनुप्रयोग तयार करण्याची संधी इतकी मोहक वाटली की साधन निवडण्यात बराच काळ संकोच करण्याची आवश्यकता नव्हती. म्हणून आम्ही फ्लॅश निवडला.

अनुप्रयोग तयार करणे

कार्यक्रम रचना आणि अल्गोरिदम

विम्याची किंमत निश्चित करण्यासाठी गणना फॉर्मचे सामान्य दृश्य अंजीर मध्ये दर्शविले आहे. 1. टॅरिफ दर विमा उतरवलेल्या जोखमीच्या प्रकारावर, कारचा सशर्त गट (स्वतंत्रपणे देशांतर्गत आणि आयात केलेल्या कारसाठी) आणि त्याची सेवा जीवन यावर अवलंबून बदलतात; विमा कंपनी सहसा ते टेबलमध्ये ठेवते. विमा देयकाची गणना करण्यासाठी हा मूलभूत डेटा आवश्यक आहे.


तांदूळ. 1. कार विम्याची गणना करण्यासाठी फॉर्मचे सामान्य दृश्य.

गणना करताना, वापरकर्ता सूचीमधून त्याच्या कारचा ब्रँड निवडतो, कारच्या सेवा जीवनात (उत्पादनाचे वर्ष) प्रवेश करतो, कोणत्याही संयोजनात जोखीम निवडतो किंवा जोखमीचे संपूर्ण पॅकेज (हल विमा) निवडतो.



तांदूळ. 2. कार ब्रँड निवडणे.

संबंधित मेनू विंडो अंजीर मध्ये दर्शविली आहे. 2. निवड सुलभ करण्यासाठी आणि प्रोग्रामचे अंतर्गत तर्क लपविण्यासाठी, आम्ही कारच्या प्रत्येक ब्रँडसाठी भिन्न बटण वापरतो. जेव्हा हे बटण क्लिक केले जाते, तेव्हा खालील कोड कार्यान्वित केला जातो:

चालू (रिलीज) सुरू करा टेल टार्गेट ("/") सेट व्हेरिएबल: "AvtoTypeText" = "VAZ 2115" व्हेरिएबल सेट करा: "CarsGroup" = 1 End Tell Target Go and Stop (HideWin) End On

येथे AvtoTypeText व्हेरिएबल ताबडतोब सेट केला जातो, जो नंतर निवडलेला ब्रँड प्रदर्शित करण्यासाठी डायनॅमिक मजकूर फील्डमध्ये आउटपुट करण्यासाठी वापरला जातो. याव्यतिरिक्त, कार ज्या गटात पडते तो गट स्थापित केला जातो. ही विधाने टेल टार्गेट ब्लॉकमध्ये संलग्न आहेत. "/" चिन्ह सूचित करते की व्हेरिएबल्स मुख्य लेयरमध्ये आहेत, ज्यामध्ये इतर सर्व क्लिप आहेत.

ऑपरेटर जा आणि थांबवा (HideWin)बटण क्लिक केल्यानंतर फॉर्मला अदृश्य स्थितीत सेट करते, म्हणजे बटणावर क्लिक केल्याने विंडो बंद होते. हे न्याय्य आहे, कारण कार ब्रँडची निवड स्पष्ट आहे.

अद्वितीय इंटरफेस घटक तयार करणे

जे अद्याप फ्लॅश प्रोग्रामिंगशी परिचित नाहीत त्यांच्यासाठी आम्ही येथे थोडेसे स्पष्ट केले पाहिजे: या तंत्रज्ञानाच्या मुख्य तंत्रांपैकी एक म्हणजे क्लिपच्या स्थिर अवस्थांचा वापर. आम्ही अटींची व्याख्या देणार नाही; ती मदत फाइल्स आणि पाठ्यपुस्तकांमध्ये आहेत.

म्हणून, स्थिर राज्ये वापरण्यासाठी, अनेक मुख्य फ्रेम तयार करणे आवश्यक आहे - राज्यांच्या संख्येनुसार. प्रत्येक फ्रेममध्ये आम्ही घटक ठेवतो जे या स्थितीत दृश्यमान असले पाहिजेत. फ्रेममध्ये कोणतेही घटक नसल्यास, हे क्लिपच्या अदृश्य स्थितीशी संबंधित आहे. याव्यतिरिक्त, प्रत्येक की फ्रेमसाठी विधान आवश्यक आहे थांबा. या ऑपरेटरची उपस्थिती क्लिपला प्ले करण्यास अनुमती देणार नाही आणि प्रोग्रामच्या तर्कानुसार आवश्यक तोपर्यंत निवडलेल्या फ्रेममध्ये राहील.

कार ब्रँड निवडण्यासाठी मेनूसह उदाहरणामध्ये, पहिल्या फ्रेममध्ये सर्व बटणांसह विंडो दृश्यमान आहे. जेव्हा तुम्ही मुख्य विंडोमधील कार ब्रँड निवड बटणावर क्लिक करता तेव्हा क्लिप या स्थितीवर सेट केली जाते. दुसऱ्या फ्रेममध्ये नावासह त्याच्या गुणधर्मांमध्ये लेबल सेट आहे हिडविनआणि कोणत्याही वस्तूंचा समावेश नाही. ऑपरेटरद्वारे संक्रमणे करणे वर जा आणि थांबा, आम्ही आमच्या फ्लॅश मूव्हीमध्ये कुठूनही मेनूची दृश्यमानता नियंत्रित करू शकतो.

अंजीर पासून. 3 आपण पाहू शकता की या क्लिपमध्ये दोन स्तर आहेत. फक्त सोयीसाठी ऑब्जेक्ट्स आणि कोड वेगवेगळ्या स्तरांमध्ये विभक्त केले जातात. याचा कार्यक्रमाच्या अंमलबजावणीवर कोणताही परिणाम होत नाही.


तांदूळ. 3. ऑब्जेक्ट्स आणि कोड वेगवेगळ्या स्तरांमध्ये विभक्त केले जातात.

आम्ही स्थिर स्थितींबद्दल बोलत असल्याने, आम्ही ताबडतोब दुसर्या ऑब्जेक्टला सूचित करू ज्यामध्ये हे तंत्र वापरले जाते. हे रेडिओ बटण आहे (चेकबॉक्स घटक). या कार्यक्रमात त्यापैकी बरेच आहेत. असा घटक अगदी सोप्या पद्धतीने अंमलात आणला जातो आणि त्याच वेळी, या घटकांना एक अद्वितीय स्वरूप देण्यासाठी डिझाइन शक्यता अमर्याद आहेत, इतर तंत्रज्ञानाच्या विपरीत.

स्विच तयार करण्यासाठी, तुम्हाला दोन बटण ऑब्जेक्ट्स तयार करणे आवश्यक आहे. त्यापैकी प्रत्येक स्विचच्या स्थिर स्थितींपैकी एक दर्शवेल (चित्र 4).


तांदूळ. 4. स्विच बटणांच्या दोन अवस्था.

यापैकी दोनपेक्षा जास्त राज्ये असू शकतात - आवश्यक तितकी. पुढे, वर वर्णन केलेल्या तत्त्वानुसार एक साधी क्लिप तयार केली जाते - ऑपरेटरसह दोन की फ्रेम थांबा. आम्ही आमची बटणे वेगवेगळ्या फ्रेममध्ये ठेवतो आणि या बटणांमध्ये शॉर्ट कोड सेट करतो:

चालू (रिलीझ) प्ले एंड ऑन

हे सर्व आहे. जेव्हा तुम्ही कोणत्याही बटणावर क्लिक करता तेव्हा एका फ्रेममध्ये संक्रमण होईल. त्यानुसार क्लिपचे स्वरूप बदलेल. क्लिप फ्रेम्समध्ये, तुम्ही स्विचची स्थिती संग्रहित करणारे काही व्हेरिएबल सेट करू शकता, उदाहरणार्थ: निवडलेल्या स्थितीसाठी चेक केलेले=1 आणि न निवडलेल्या स्थितीसाठी चेक केलेले=0. क्लिपसाठी हे स्थानिक व्हेरिएबल असेल. इतर क्लिपमधून त्यात प्रवेश करण्यासाठी, तुम्हाला पूर्ण किंवा संबंधित मार्ग निर्दिष्ट करणे आवश्यक आहे. तुम्ही क्लिपमध्ये मूल्य वापरत असल्यास, तुम्हाला फक्त नाव निर्दिष्ट करावे लागेल.

सर्व प्रोग्राम डायलॉग बॉक्सेससाठी आणि स्टँडर्ड चेकबॉक्स आणि रेडिओ बटण घटकांसारख्या निवड घटकांसाठी स्थिर स्थितीचे तत्त्व वापरले जाते.

चला आपल्या प्रोग्रामच्या अल्गोरिदमकडे परत जाऊया. आम्ही नुकतेच पाहिलेले स्विचेस येथे वापरले जातात. विमा जोखीम निवडण्याच्या विंडोमध्ये असे पाच स्विच असतात; प्रत्येक जोखमीचे स्वतःचे स्विच असते (चित्र 5).

ऑटो कास्को आयटम निवडताना, इतर सर्व चेकबॉक्सेस साफ केले जातात. चार जोखीम निवडणे (म्हणजे, मोटर विमा सोडून सर्व) मोटार विमा आयटम निवडणे आणि इतर सर्व रीसेट करणे. या उदाहरणात, विंडो बंद झाल्यानंतर अपडेट होते; दुसऱ्या शब्दांत, हे सर्व तर्क वापरकर्त्यास दृश्यमान नाही आणि विविध परिस्थितींवर प्रक्रिया करण्यासाठी सर्व कोड विंडो बंद करण्यासाठी एका बटणावर संकलित केले जातात. रेडिओ बटणांवर कोड वितरीत करून स्थिती बदल त्वरित दृश्यमान करणे शक्य होते. येथे रेडिओ बटणांमध्ये मिश्रित वर्तन आहे - चेकबॉक्स आणि रेडिओ बटण दोन्ही, आणि दोन्हीपैकी एक पर्याय शक्य आहे. दुसरा पर्याय दुसऱ्या डायलॉग बॉक्समध्ये लागू केला जातो (“कार स्टोरेज स्थान”). तेथे, सर्व राज्ये परस्पर अनन्य आहेत आणि स्विचेस रेडिओबटन्ससारखे वागतात.


तांदूळ. 5. पाच स्विचसह जोखीम निवडण्यासाठी विंडो.

खाली जोखीम निवड पॅनेलवरील बटणासाठी संपूर्ण कोड आहे:

येथे सर्व काही अगदी सोपे आहे आणि कोड अगदी नवशिक्यांसाठी देखील समजण्यासारखा आहे. प्रथम, स्ट्रिंग व्हेरिएबल /:InsStr चे मूल्य सेट केले आहे, जे निवडलेल्या जोखीम प्रदर्शित करणाऱ्या चाचणी डायनॅमिक फील्डशी संबंधित आहे. कोणतीही जोखीम निवडली नसल्यास, फॉर्म बंद केल्यानंतर हे ओळीचे मूल्य असेल. जर निवड केली असेल, जी सर्व जोखमींसाठी ध्वजांची बेरीज करून आणि klop व्हेरिएबल तपासून निर्धारित केली जाते, तर /:InsStr ला रिक्त स्ट्रिंग नियुक्त केली जाते, ज्यामध्ये निवडलेल्या जोखमींशी संबंधित ओळी जोडल्या जातील. हे If()...End If blocks मध्ये केले जाते. मग सर्व जोखीम निवडण्याचे प्रकरण तपासले जाते आणि स्विच फ्लॅग्जची योग्य स्थिती सेट केली जाते. जेव्हा डायलॉग बॉक्स पुन्हा उघडला जाईल, तेव्हा स्विच नवीन स्थितीत असतील. हे प्रत्येक स्विचद्वारे त्याच्या ध्वजाच्या मूल्यानुसार स्वतंत्रपणे केले जाते (व्हेरिएबल्स /:CheckUgon, /:CheckDTP, /:CheckBurst, /:CheckCrim).

पुढे एक परिचित जंप ऑपरेटर येतो, जो विंडो बंद करतो. आणि शेवटी, काहीतरी नवीन - टेल टार्गेट() आयसोलेशन ब्लॉकमध्ये ऑपरेटरला कॉल केला जातो कॉल करा()मुख्य टाइमलाइनमध्ये. हा एक प्रक्रिया कॉल आहे. फ्लॅशमध्ये इतर भाषांच्या तुलनेत अनेक वैशिष्ट्ये आहेत. प्रथम, प्रक्रिया फ्रेमशी बांधल्या जातात आणि प्रक्रिया कोड हा एका विशिष्ट फ्रेमचा कोड असतो. दुसरे म्हणजे, ऑपरेटर कॉलपॅरामीटर्स पास करत नाही. कंसातील अभिव्यक्ती प्रक्रिया कोडसह फ्रेम लेबल आहे. तिसर्यांदा, ऑपरेटर कॉलअंमलबजावणी दरम्यान चित्रपटाच्या प्लेबॅकवर परिणाम होत नाही. दिलेल्या वेळेच्या स्लाइसमध्ये कोडच्या सर्व तुकड्यांवर प्रक्रिया केल्यानंतरच सर्व संक्रमणे पूर्ण होतील. कोडसह फ्रेममध्ये कोणतेही संक्रमण नाही. मूव्ही प्लेयर त्याच फ्रेमवर आहे जिथे तो प्रक्रिया कॉल करण्यापूर्वी होता.

जेव्हा जेव्हा गणनासाठी स्त्रोत डेटा बदलण्याचा प्रयत्न केला जातो तेव्हा ही विशिष्ट ओळ निकाल विंडो साफ करते.

इतर डायलॉग बॉक्स तपशीलवार पाहण्याची गरज नाही. त्यांचा कोड वरीलपेक्षा सोपा आहे. चला फक्त या विंडोची यादी करू आणि त्यांच्या सामग्रीबद्दल थोडक्यात बोलूया.

  1. "कार स्टोरेज लोकेशन" विंडोमध्ये तीन रेडिओ बटण-प्रकारचे स्विच आणि विंडो बंद करण्यासाठी एक बटण आहे.
  2. "चोरी विरोधी" विंडोमध्ये तीन चेकबॉक्स स्विचेस आणि विंडो बंद करण्यासाठी एक बटण असते.
  3. "इन्शुरन्स हिस्ट्री" विंडो (कोणत्याही विमा कंपन्यांमध्ये विमा उतरवलेल्या घटनांशिवाय क्लायंटचा किती वर्षांचा विमा काढला गेला आहे) मध्ये एक मजकूर फील्ड आणि विंडो बंद करण्यासाठी एक बटण असते.
  4. एरर विंडो त्रुटी आणि अवैध इनपुट व्हॅल्यू दर्शविणारा संदेश प्रदर्शित करते. अपवाद वर्णन मजकूर डायनॅमिक मजकूर फील्डला नियुक्त केला आहे.
  5. फॉर्म मुद्रित करण्याच्या सूचनांसह गणना यशस्वीरित्या पूर्ण झाल्याचे दर्शविणारी एक संदेश विंडो.

तुम्हाला काही विंडो पॅरामीटर्स एंटर करण्याची गरज नाही - हे कारच्या उत्पादनाचे वर्ष, ड्रायव्हिंगचा अनुभव, कारचे अंदाजे मूल्य आणि विम्याची वैधता कालावधी आहे. मजकूर फील्डमध्ये प्रवेश करताना, आपल्याला डेटाची शुद्धता आणि निर्दिष्ट श्रेणीसह नंबरचे अनुपालन तपासण्याची आवश्यकता आहे, जी प्रारंभिक परिस्थितींद्वारे निर्धारित केली जाते. उदाहरणार्थ: विमा कालावधी केवळ पूर्णांक असू शकतो, 1 पेक्षा कमी नाही आणि 12 (महिने) पेक्षा जास्त नाही. या तपासण्या साध्या कंडिशनल स्टेटमेंटचा वापर करून आणि int() राउंडिंग फंक्शन वापरून केल्या जातात. जर मूल्य स्वीकार्य श्रेणीच्या बाहेर असेल, तर डीफॉल्ट मूल्य नियुक्त केले जाईल. अशा प्रकारे आम्ही स्पष्टपणे चुकीचे परिणाम प्राप्त करणे टाळतो.

अंमलबजावणी वैशिष्ट्ये

आता आणखी एक महत्त्वाचा मुद्दा पाहू. आम्ही टॅरिफ मूल्ये कोठे ठेवू? वस्तुस्थिती अशी आहे की फ्लॅश आवृत्ती 4 मध्ये ॲरेचे वर्णन करण्यासाठी रचना नाहीत. उपाय म्हणजे डेटा साध्या व्हेरिएबल्समध्ये संग्रहित करणे किंवा ॲरेचे अनुकरण करण्याचा प्रयत्न करणे. लूप वापरताना ॲरे उपयुक्त आहेत. या प्रकरणात, कोणतेही लूप नाहीत आणि आपण सामान्य व्हेरिएबल्ससह मिळवू शकता. पद्धत अतिशय मोहक नाही, परंतु सोपी आणि विश्वासार्ह आहे. जेव्हा ऍप्लिकेशन मुख्य टाइमलाइनच्या पहिल्या फ्रेममध्ये (दृश्यामध्येच) सुरू होते तेव्हा व्हेरिएबल्स सुरू होतात. व्हेरिएबल्सचे वर्णन करण्याचा आणखी एक मार्ग आहे - मजकूर फाइलमध्ये. डेटा एका साध्या स्वरूपात रेकॉर्ड केला जातो:

Var01="value01"&var02="value02"&var03="value03"

हे नेहमीच्या "की=मूल्य" नोटेशनशी संबंधित आहे. फाइल ऑपरेटरद्वारे अपलोड केली जाते चल लोड करा("filename.txt", "/targetClip").

येथे व्हेरिएबल नावांच्या निर्मितीबद्दल काही शब्द सांगणे आवश्यक आहे. विशिष्ट व्हेरिएबलमध्ये प्रवेश करण्यासाठी विशिष्ट संख्यात्मक निर्देशांक वापरणे आवश्यक असल्यास त्याच प्रकारच्या नावांची निर्मिती महत्त्वपूर्ण आहे. नमूद केल्याप्रमाणे, फ्लॅश 4.0 तुम्हाला ॲरे तयार करण्याची परवानगी देत ​​नाही, परंतु यावर कार्य केले जाऊ शकते. आम्ही गतिशीलपणे नावे तयार करू. चला रस्ता अपघात लाईनमध्ये आपण DTP1, DTP2...DTP12 या व्हेरिएबल्सना नाव देऊ. तुम्ही हे व्हेरिएबल्स नेहमीच्या पद्धतीने नियुक्त करू शकता:

व्हेरिएबल "DTP1"=6 सेट करा

आणि त्याचप्रमाणे इतर प्रत्येकासाठी. पण मूल्य काढण्यासाठी, पंक्ती आणि स्तंभ क्रमांक जाणून, तुम्हाला हे करावे लागेल:

व्हेरिएबल सेट करा "Temp"=eval("DTP"&n)

जेथे n हा स्तंभ क्रमांक आहे. हे अभिव्यक्तीच्या अगदी समतुल्य आहे:

व्हेरिएबल "टेम्प" = DTP1 सेट करा

थोडे बाकी आहे - शुद्ध अंकगणित. कोड अनेक प्रक्रिया फ्रेममध्ये विभागलेला आहे, ज्यामध्ये ऑपरेटरद्वारे प्रवेश केला जातो कॉल. या सर्व फ्रेम सीनमध्येच आहेत. गट क्रमांक आणि सेवा जीवन असल्याने, आम्ही दर सारणीमधील स्तंभ क्रमांक निर्धारित करतो. पुढे, आम्ही लक्षात घेतलेले धोके तपासतो आणि टॅरिफ मूल्यांचा सारांश देतो. आम्ही स्टोरेज स्थान आणि अँटी-चोरी सिस्टीमच्या उपस्थितीवर अवलंबून सवलतीच्या अटींची पूर्तता तपासतो) आणि योग्य सुधारणा घटक निवडा. पुढे, ब्रेक-इव्हन विमा कालावधी विचारात घेतला जातो आणि श्रेणी श्रेणीबाहेर आहे की नाही हे तपासले जाते (या प्रकरणात, 30% पेक्षा जास्त नाही). सर्व काही गुणाकार करणे आणि परिणाम प्राप्त करणे बाकी आहे. कॉल () प्रक्रियेचे सर्व कॉल "गणना" बटणावर केंद्रित आहेत.

सर्व आवश्यक डेटा बरोबर असल्यास, विमा पेमेंटचे मूल्य परिणाम विंडोमध्ये दिसून येते. कुठेतरी एरर आली असल्यास, अपवाद चेतावणी विंडो दिसेल. तथापि, काही प्रकरणांमध्ये परिणाम अद्याप प्राप्त केला जाईल: उदाहरणार्थ, जर संख्यात्मक डेटा चुकीचा प्रविष्ट केला गेला असेल आणि प्रोग्रामने डीफॉल्ट मूल्य बदलले असेल. यानंतर, फक्त इच्छित मूल्य योग्यरित्या प्रविष्ट करा आणि "गणना करा" बटण पुन्हा दाबा.

सर्व्हर स्क्रिप्ट बद्दल थोडे

वरील फॉर्ममध्ये केलेल्या गणनेसाठी एक काउंटर देखील आहे. हा एक पर्ल प्रोग्राम आहे. त्याचा प्रोग्राम लॉजिकशी काहीही संबंध नसल्यामुळे आणि सुरक्षितपणे काढला जाऊ शकतो, आम्ही येथे सर्व्हर स्क्रिप्टसह परस्परसंवाद म्हणून अशा अतिरिक्त कार्यक्षमतेचा विचार करणार नाही. यामध्ये कोणत्याही मूलभूत अडचणी नाहीत, तथापि, सर्व्हर स्क्रिप्टसह परस्परसंवाद हा एक वेगळा मोठा विषय आहे आणि त्यात बरेच बारकावे आहेत.

निकालाची प्रिंटआउट

जर काही त्रुटी नसतील तर, गणना यशस्वीरित्या पूर्ण केल्याबद्दल आणि वापरकर्ता प्रिंटरवर फॉर्म कसा मुद्रित करू शकतो याबद्दलच्या संकेतासह एक विंडो दिसेल. मुद्रित करताना, फ्लॅश मूव्ही प्लेयर किंवा ब्राउझरद्वारे प्रदान केलेला पर्याय वापरला जातो. उजव्या माऊस बटणासह संदर्भ मेनूमधून मुद्रण केल्याने छटा दाखवताना चांगले परिणाम मिळतात, जे विशेषतः ग्रेडियंट फिल्सच्या उपस्थितीत लक्षात घेण्यासारखे आहे. या प्रिंटआउटसह, वापरकर्ता कंपनीच्या कार्यालयात येऊन विम्यासाठी अर्ज करू शकतो.

परिणाम

आम्ही मुख्य प्रोग्राम लॉजिकसाठी कोणतेही अतिरिक्त तंत्रज्ञान न वापरता Flash 4.0 वापरून कार्य पूर्ण केले. पूर्ण कार्यक्षम अनुप्रयोगाचा आकार अंदाजे 40 KB असतो आणि एकदा डाउनलोड केल्यानंतर, सर्व्हरशी कोणत्याही संप्रेषणाची आवश्यकता नसते. गणनांची संख्या अमर्यादित आहे. वापरकर्ता त्याच्या आवडीनुसार स्त्रोत डेटा बदलू शकतो आणि लगेच परिणाम मिळवू शकतो. या कार्यक्रमाचा लाभ घेऊ शकणारे संभाव्य प्रेक्षक सुमारे 95% इंटरनेट वापरकर्ते आहेत. आणि त्याच वेळी, आम्ही ब्राउझर, सिस्टम आणि प्लॅटफॉर्मच्या आवृत्त्यांमधील संघर्षांपासून व्यावहारिकदृष्ट्या मुक्त आहोत. फ्लॅश तंत्रज्ञान आज एकल-विक्रेता तंत्रज्ञान आहे, जे विकसकाचे कार्य सुलभ करते. फॉर्म इंटरफेस पूर्णपणे अद्वितीय आहे, आणि त्याच वेळी ग्राफिक भागासाठी खर्च किमान आहेत. मला विश्वास आहे की भविष्यात समान कार्यांसाठी मॅक्रोमीडियाचे फ्लॅश तंत्रज्ञान वापरण्यासाठी फायदे पुरेसे आहेत.

अलीकडे, फ्लॅश शिकणे कोठे सुरू करावे याबद्दल प्रश्नांसह अधिक आणि अधिक वेळा साइटवर पत्र येत आहेत. मी काही प्रकाशित करेन, मला वाटते की ते अनेक नवशिक्यांसाठी मनोरंजक असेल. उत्तरे फक्त माझी दृष्टी आणि माझा अनुभव आहे, याचा अर्थ असा नाही की तुम्ही ते वेगळे केले तर काहीही होणार नाही. स्वारस्य असलेल्यांसाठी, खाली वाचा (संदेशांचे शब्दलेखन आणि व्याकरण जतन केले गेले आहे). आणि जर तुम्ही नवशिक्या नसाल तर तुम्हाला हे वाचून नक्कीच कंटाळा येईल आणि कंटाळा येईल :)

"हाय)) माझे नाव निको आहे, मी ताजिकिस्तानचा आहे आणि मला फ्लॅश ॲनिमेटर बनण्याची खूप इच्छा आहे, परंतु मला कोठून सुरुवात करावी हे माहित नाही, मला तुमच्या साइटवर बर्याच उपयुक्त गोष्टी आढळल्या, परंतु माझ्यासाठी, एक नवशिक्या, ते अजूनही कठीण आहेत. कृपया फ्लॅश ॲनिमेशन शिकणे कोठे सुरू करावे ते मला सांगा)) मी खूप आभारी आहे . आणि तुम्ही कसे काढता ते लिहा, मी वाकोम बांबू पेन विकत घेऊन त्यावर काढायला शिकू का”

निको, तुमच्याकडे मुख्य गोष्ट आहे - इच्छा. एक-दोन आठवडे किंवा महिन्यांत त्याचे बाष्पीभवन झाले नाही तर त्याचा परिणाम होईल. कोठे सुरू करावे - हार्डवेअरसह.

1. इंटरनेटवरून फ्लॅश ट्यूटोरियल खरेदी/डाउनलोड करा. नवीनतम आवृत्त्यांपैकी एक घ्या (Flash Cs4-Cs 6), Macromedia, FlashMX वरील पाठ्यपुस्तके विसरून जा, शाब्दिक अर्थाने हे आधीच शेवटचे शतक आहे. जरी तेव्हापासून फ्लॅशमध्ये बरेच काही बदलले नाही.

जर तुम्ही ॲक्शन स्क्रिप्ट शिकण्याचा विचार करत असाल (आणि फ्लॅशरसाठी, किमान मूलभूत गोष्टी जाणून घेणे, माझ्या मते, फक्त आवश्यक आहे) - c As3 वर थांबा. As2 हळुहळू भूतकाळातील गोष्ट बनत चालली आहे, आम्ही काळासोबत राहू.

मी फ्लॅशचा बराच काळ अभ्यास केल्यामुळे, मी कोणत्याही विशिष्ट प्रकाशनांची शिफारस करू शकत नाही कारण मी त्यांच्याशी परिचित नाही.

तुम्हाला कदाचित खूप आश्चर्य वाटेल, परंतु लर्निंग फ्लॅशवरील सर्व पुस्तकांमध्ये समान माहिती असते :) हे विशेषतः नवशिक्यांसाठी असलेल्या पुस्तकांसाठी खरे आहे.

फ्लॅश ॲनिमेटर ख्रिस जॉर्जेसची (तो ॲडोबसाठी फ्लॅश ॲनिमेशनचे धडे लिहितो) ची इंग्रजीमध्ये How to Cheat in Adobe Flash ही पुस्तके मला खूप आवडली.

ही पुस्तकांची मालिका आहे, ती फ्लॅशच्या प्रत्येक नवीन आवृत्तीसाठी पुन्हा प्रकाशित केली जातात. जर तुम्हाला इंग्रजी येत असेल अप्रतिम ग्राफिक्ससह डोळ्यांना आनंद देणारे भाषा हे एक उत्कृष्ट पुस्तक आहे.

डाउनलोड करा Cs5 मध्ये Adobe Flash मध्ये फसवणूक कशी करावीआपण करू शकता डिस्कसह एकत्र.

फ्लॅशचा माझा अभ्यास ट्यूटोरियलने सुरू झाला. मला वैयक्तिकरित्या फ्लॅश शिकण्यात मदत झाली ती पाठ्यपुस्तकच नव्हती, तर पाठ्यपुस्तकासोबत आलेला व्हिडिओ कोर्स होता. म्हणून, मुद्दा क्रमांक 2 वर जाऊया.

2. व्हिडिओ धडे.

मला वाटते की व्हिडिओ धडे सर्वात प्रभावी आहेत, कारण मी स्वतः व्हिडिओ कोर्स वापरून फ्लॅशचा अभ्यास केला आहे.

3. फ्लॅश ॲनिमेशन शिकण्याबद्दल आणखी एक गोष्ट म्हणजे तुम्ही Swf Decompiller सारख्या प्रोग्रामशिवाय हे करू शकत नाही. हा SVF फाइल्सचा ब्रेकर आहे, म्हणजेच रेडीमेड ॲनिमेशन. तेच आपण बोलत आहोत. हे तुम्हाला साधकांचे काम पाहण्यास (चोरी करू नका:) अनुमती देते आणि फ्लॅश शिकण्यासाठी खूप उपयुक्त आहे. तुम्ही पूर्ण झालेल्या कामाचा तुकडा घ्या आणि ते कसे झाले ते पाहण्यासाठी टाइमलाइनवर पहा आणि ते पुन्हा करण्याचा प्रयत्न करा. ॲनिमेशन नेहमी योग्यरित्या प्रदर्शित केले जात नाही - मुखवटे, जुळे, परंतु तत्त्व समजले जाऊ शकते आणि खात्यात घेतले जाऊ शकते.

4. विशिष्ट उदाहरणे वापरून फ्लॅश शिकवणे खूप प्रभावी आहे. एखाद्या काल्पनिक परिस्थितीनुसार ॲनिमेशन बनवण्याचे स्वतःला एक ध्येय सेट करा - उदाहरणार्थ, एका विशिष्ट मार्गावर चालणाऱ्या कारचे ॲनिमेशन. जेव्हा अंतिम ध्येय असते तेव्हा शिकवणे सोपे जाते.

5. अभ्यासादरम्यान प्रश्न उद्भवल्यास, तुम्ही त्यांना येथे किंवा समुदायामध्ये सोडू शकता विषय. किंवा इतर कोणत्याही फोरमवर जिथे फ्लॅशर्स राहतात.

मला माहीत असलेला सर्वात मोठा फ्लॅश फोरम आहे flasher.ru. तर, प्रिय नवशिक्यांनो, इंटरनेट आणि विशेषतः या संसाधनाच्या फायद्यांचा आनंद घ्या :)

6.आणि आणखी एक महत्त्वाचा मुद्दा. चांगले ॲनिमेशन बनवण्यासाठी, शास्त्रीय ॲनिमेशनवरील पाठ्यपुस्तकांचा संदर्भ घेणे चांगली कल्पना असेल (विशेषत: तुम्हाला अक्षरे कशी ॲनिमेट करायची हे शिकायचे असेल, आणि फक्त बॅनरसाठी मजकूर ब्लॉक नाही).

साधन म्हणून फ्लॅशवर प्रभुत्व मिळविल्यानंतर, आपण अचूक ॲनिमेटर बनणार नाही, तर एक "मूव्हर" बनू शकता ज्याला ऑब्जेक्ट्स कसे हलवायचे हे माहित आहे.

शास्त्रीय ॲनिमेशनवर भरपूर पुस्तके आहेत - प्रथम येथे थांबा "ॲनिमेशनमधील वेळ", तुम्ही ते घेऊ शकता.

Adobe Flash कुठे मिळवायचे याबद्दल. तुम्हाला एखादी गोष्ट शोधायची असेल किंवा घ्यायची असेल, तर गुगलपेक्षा चांगले काहीही नाही. त्याला सर्व काही माहित आहे :)

फ्लॅशमध्ये स्वतः कसे कार्य करावे हे शिकणे शक्य आहे का? हे अगदी शक्य आहे, मला माहित असलेले जवळजवळ सर्व चांगले फ्लॅश ॲनिमेटर्स कोर्स किंवा परीक्षांशिवाय स्वतःला फ्लॅश शिकवतात. संयम, कठोर परिश्रम - आणि सर्वकाही आपल्या हातात आहे. मी हे देखील म्हणेन - मला कोर्सेसमध्ये सहभागी झालेल्या फ्लॅशर्सना माहित नाही, त्यांनी स्वतःच सर्वकाही शिकवले.

“ब्लॉगबद्दल धन्यवाद, मला माझ्यासाठी खूप उपयुक्त गोष्टी सापडल्या.

मी एक शुद्ध वेक्टर डिझायनर आहे आणि मला फ्लॅशमध्ये काढणे अवघड नव्हते. ॲनिमेशनचा प्रश्न आला तेव्हा सुरुवात झाली.

तुम्ही सर्वात बुद्धीहीन, कुटिल नोब्ससाठी धडा बनवू शकता)) जेणेकरून मला देखील समजेल))"

( तारा )

नवशिक्यांसाठी ॲनिमेशन धडा असेल. एका धड्यात सर्वकाही कसे बसवायचे याची मी कल्पना करू शकत नाही, मला वाटते की ती धड्यांची मालिका असेल. मला खात्री होती की नवशिक्यांसाठी इंटरनेट धड्यांनी भरलेले आहे, परंतु काही कारणास्तव ते वारंवार विचारले जातात. त्यामुळे वेबसाइटवरील अद्यतनांसाठी संपर्कात रहा आणि

ॲक्शनस्क्रिप्ट चॅप्टर आणि ॲक्शनस्क्रिप्ट एलिमेंट्स फॉर क्रिएटिंग गेम्स चॅप्टरचा अभ्यास करून तुम्ही प्रोग्राम कसे करायचे ते शिकले आहे असे समजू नका.

प्रोग्रामिंग बहुतेक लोकांसाठी कठीण आहे, परंतु माझ्यासाठी सोपे आहे. पण माझ्याकडे संगणक शास्त्राची पदवी आहे आणि मी 18 वर्षांपासून प्रोग्रामिंग करत आहे. समान अनुभवाशिवाय, आपण द्रुत परिणामांची अपेक्षा करू नये.

येथे काही तत्त्वे आहेत जी तुम्हाला प्रोग्राम शिकण्यास मदत करतील. कोणत्याही कौशल्याप्रमाणे, प्रोग्रामिंग शिकण्यासाठी वेळ लागतो. तुम्हाला आढळेल की तुम्ही जितके जास्त प्रोग्राम कराल तितके ते सोपे होईल.

कार्य विश्लेषण

प्रोग्रामिंग ही एक प्रक्रिया आहे. एक मोठा कार्यक्रम भागांमध्ये विभागला जाऊ शकतो. हे भाग अगदी लहान भागांमध्ये विभागले जाऊ शकतात, इत्यादी. प्रोग्राम लिहिण्यासाठी, तुम्हाला दिलेल्या समस्येचा विचार करणे आणि भागांमध्ये सोडवणे आवश्यक आहे.

समजा तुम्हाला एक गेम तयार करायचा आहे अंतरिक्षात आक्रमण करणारे(अंतरिक्षात आक्रमण करणारे). हे अवघड काम आहे. तथापि, एकदा आपण त्याचे लहान भागांमध्ये विभाजन केले की, ते सोडवणे अगदी सोपे आहे हे लक्षात येईल.

सर्व प्रथम, आपल्या गेममध्ये कोणते घटक असतील याचा विचार करा: खेळाडूचे जहाज, आक्रमणकर्ते, जहाजावर गोळीबार करणारे प्रक्षेपक आणि आक्रमणकर्ते शूट करतात.

आता यापैकी एक घटक घ्या आणि त्याद्वारे काय क्रिया होतील याचा विचार करा. ॲरो की वापरून प्लेअरचे जहाज स्क्रीनवर क्षैतिजरित्या हलवले जाईल. हे आधीच एक अधिक व्यवहार्य कार्य आहे.

तुमचे तर्क पुढे चालू ठेवा. तुम्हाला कसे कळेल की वापरकर्त्याने डावी बाण की दाबली आहे? तुम्ही जहाज डावीकडे कसे हलवाल? उजव्या बाणाची कळ आणि जहाज उजवीकडे हलवण्याबद्दल काय? या लहान समस्यांचे निराकरण करून, आपण जहाज हलविण्याची मोठी समस्या सोडवाल. यानंतर, तुम्ही प्रोग्रामच्या पुढील भागावर जाऊ शकता. या प्रक्रियेसाठी संयम आवश्यक आहे, जो प्रोग्रामिंगचा एक आवश्यक पैलू आहे. तुम्हीही स्वतःशी संयम बाळगला पाहिजे. जोपर्यंत तुम्ही ActionScript तज्ञ बनत नाही तोपर्यंत, तुम्हाला अद्याप माहित नसलेली किंवा नवीन सामग्री शिकण्यासाठी तुम्हाला प्रोग्रामिंगपासून वेळोवेळी वेळ काढावा लागेल. तुमच्या ज्ञानातील काही अंतर भरल्याशिवाय तुम्ही जटिल प्रोग्राम लिहू शकत नाही.

हे लक्षात घेणे महत्त्वाचे आहे की एखादे कार्य हाताळण्यासाठी खूप मोठे वाटत असल्यास, ते कदाचित आहे. याला छोट्या छोट्या कामांमध्ये विभाजित करा आणि तुम्हाला उपाय सापडेल.

प्रोग्रामिंग नियम

प्रोग्रॅमिंग शिकत असताना काही नियम पाळले पाहिजेत ज्यामुळे तुमचे काम सोपे होईल. हे नियम जगभरातील प्रोग्रामर सर्व प्रोग्रामिंग भाषा वापरून पाळतात:

  • टिप्पण्या- तुम्हाला तुमच्या कोडमध्ये टिप्पण्या जोडण्याची सवय लावली पाहिजे. या क्षणी स्पष्ट दिसणाऱ्या रेषा देखील अस्पष्ट होऊ शकतात जर तुम्ही एका महिन्यानंतर त्यांच्याकडे परत आलात;
  • परिवर्तनीय नावे- व्हेरिएबल नावे वापरा जी त्यांचा उद्देश दर्शवतात. ते टिप्पण्यांना पूरक ठरतील आणि तुम्ही नंतर कोडवर परत याल तेव्हा ते समजण्यास मदत करतील;
  • फंक्शनची नावे- वरील सर्व फंक्शनच्या नावांना लागू होते. त्यांनी केलेल्या कृतींचे वर्णन करणे आवश्यक आहे;
  • जितके लहान तितके चांगले- फ्लॅशला फंक्शनच्या लांबीवर मर्यादा नाही. तथापि, जर तुम्ही 100 ओळी लांबीचे फंक्शन लिहिले तर तुम्हाला नंतर ते संपादित करणे कठीण जाईल. फंक्शनला टास्कमध्ये मोडणे आणि प्रत्येक टास्क वेगळ्या फंक्शनमध्ये ठेवणे चांगले आहे;
  • तुमच्या कोडमध्ये पुन्हा वापरण्यायोग्य फंक्शन्स समाविष्ट करा- प्रोग्रामिंग करताना, तुमच्या प्रोग्रामच्या दुसऱ्या भागात तुम्ही हे किंवा ते फंक्शन समान किंवा तत्सम कार्यासाठी कसे लागू करू शकता याचा विचार करण्यास विसरू नका. समजा तुम्हाला असे फंक्शन हवे आहे जे खेळाडूच्या स्कोअरमध्ये एक पॉइंट जोडते. त्यात एक पॅरामीटर वापरण्याचा प्रयत्न करा जे तुम्हाला तुमच्या स्कोअरमध्ये केवळ एकच नाही तर इतर कोणतेही गुण देखील जोडू देते;
  • हार्ड कोडिंग टाळण्याचा प्रयत्न करा- हार्ड कोडिंग म्हणजे तुमच्या कोडमध्ये विशिष्ट संख्या समाविष्ट करणे. समजा तुमचा कोड कार्यक्षेत्राच्या उजव्या बाजूचे वर्णन करण्यासाठी 550 मूल्य वापरतो, तो प्रोग्राममध्ये हार्ड-कोड केला जाईल. जर तुम्ही कार्यरत क्षेत्र 600 पिक्सेलपर्यंत वाढवायचे ठरवले तर तुम्हाला कोडमधील 550 मूल्याचा प्रत्येक वापर बदलावा लागेल. स्क्रीनराइटसाइड नावाचे व्हेरिएबल अगदी सुरुवातीला 550 वर सेट करणे आणि संपूर्ण प्रोग्राममध्ये हे व्हेरिएबल वापरणे चांगले आहे;
  • चांगली संघटना- एक चांगला प्रोग्रामर निःसंशयपणे प्रोग्रामचे विविध घटक आयोजित करण्यास सक्षम असणे आवश्यक आहे. उदाहरणार्थ, फंक्शन्स वेगवेगळ्या फ्रेम्समध्ये ठेवू नयेत, तर तुमच्या व्हिडिओच्या एका फ्रेममध्ये ठेवा. याव्यतिरिक्त, त्यांनी केलेल्या कार्यांनुसार कार्ये गटबद्ध करण्याचा प्रयत्न करा.

डीबगिंग

सर्व प्रोग्रामरना त्यांनी तयार केलेले प्रोग्राम डीबग करावे लागतात. तुम्ही पहिल्यांदा लॉन्च केल्यावर निर्दोषपणे कार्य करण्यासाठी प्रोग्राम मिळणे अशक्य आहे. एक चांगला तज्ञ प्रोग्राम डीबग करण्यास सक्षम असावा.

डीबगर वापरण्याव्यतिरिक्त ॲक्शनस्क्रिप्ट, डीबगिंग विविध प्रकारे केले जाऊ शकते. तुम्ही चाचणी करता तेव्हा विंडोमध्ये व्हिडिओ प्ले करा आउटपुटत्रुटी संदेश दिसू शकतात. कोडमध्ये तुम्हाला कुठे समस्या आहेत हे समजून घेण्यासाठी कधीकधी हे पुरेसे असते.

प्रोग्रामची माहिती विंडोमध्ये देखील ठेवता येते आउटपुटकमांड वापरून ट्रेस. हे तुम्हाला प्रोग्रामचे काही क्षण आणि या क्षणी काही व्हेरिएबल्सचे मूल्य ट्रॅक करण्यात मदत करेल.

तुम्ही डीबगर वापरू इच्छित असल्यास, आम्ही शिफारस करतो की तुम्ही अधिक माहितीसाठी Flash MX मॅन्युअल वाचा. डीबगर हे एक साधे साधन आहे जे तुम्हाला फ्लॅश मूव्ही प्ले होत असताना व्हेरिएबल व्हॅल्यूज प्रदर्शित करण्यास अनुमती देते. तथापि, ती चमत्कार करण्यास सक्षम नाही; डीबगिंग प्रोग्राम तुम्हाला तुमचा स्वतःचा प्रोजेक्ट समजण्यास मदत करू शकतो.

चाचणी

डीबगिंगमधील पुढील पायरी म्हणजे तुमच्या गेमची इतर लोकांकडून चाचणी घेणे. चाचणी हा एक महत्त्वाचा पैलू आहे, खासकरून जर तुम्ही व्यावसायिक स्तरावर गेम विकसित करत असाल. एक प्रोग्रामर म्हणून, तुम्ही तुमच्या मेंदूच्या कामाचे आणि त्यातील कमतरतांचे वस्तुनिष्ठपणे मूल्यांकन करू शकणार नाही.

प्रथमच कोणीतरी तुमचा गेम खेळेल तेव्हा तुम्हाला कदाचित खूप काही शिकायला मिळेल. तो अशा घटकांवर क्लिक करेल याची तुम्ही कल्पनाही केली नसेल. हे घटकांना कार्यरत क्षेत्राच्या बाहेर ड्रॅग करू शकते किंवा ते नसावेत अशा प्रकारे येऊ शकते.

सहसा, विस्तृत प्रेक्षकांसमोर अधिकृत सादरीकरणापूर्वी, गेम सत्यापनाच्या दोन टप्प्यांतून जातो. पहिल्या टप्प्यावर (अल्फा चाचणी), गेमची चाचणी तुमचे सहकारी किंवा मित्रांद्वारे केली जाते. बीटा चाचणी तुमच्या कंपनी किंवा नेटवर्कच्या बाहेरील लोकांकडून केली जाते. दोन्ही टप्प्यांदरम्यान, तुम्हाला आढळलेल्या कोणत्याही समस्यांबद्दल सूचना प्राप्त झाल्या पाहिजेत आणि गेमच्या अपडेट केलेल्या आवृत्त्या निश्चित केल्या गेल्या आहेत.

दुर्दैवाने, कोड सिंटॅक्टली बरोबर असताना, प्रोग्राम अनपेक्षित परिणाम देतो. उदाहरणार्थ, फ्लॅशला व्हेरिएबल्सच्या विशेष घोषणेची आवश्यकता नसल्यामुळे, ते अस्तित्वात नसलेल्या वस्तूचे नाव सहजपणे खाईल (आपण सहजपणे नाव चुकीचे प्रविष्ट करू शकता) आणि त्यास नियुक्त केलेल्या सर्व क्रिया प्रामाणिकपणे पार पाडतील.

प्रोग्रामच्या दोषांमध्ये केवळ त्रुटीच नाही तर अयोग्य गेम सामग्री आणि गहाळ कार्ये देखील समाविष्ट आहेत. तुमचा गेम पूर्ण झाला असे घोषित करण्यापूर्वी शक्य तितके परिपूर्ण करण्याचा प्रयत्न करा.

कारण ActionScript ही प्रोग्रामिंग भाषा आहे, ती शिकण्यासाठी संगणक प्रोग्राम तयार करण्यासाठी वापरल्या जाणाऱ्या अनेक मूलभूत संकल्पना समजून घेणे आवश्यक आहे.

संगणक प्रोग्राम कोणती कार्ये करतात?

सर्व प्रथम, आपल्याला संगणक प्रोग्राम काय आहेत आणि ते कोणते कार्य करतात हे समजून घेणे आवश्यक आहे. संगणक प्रोग्रामचे दोन मुख्य गुणधर्म आहेत.

    प्रोग्राम म्हणजे सूचना किंवा चरणांची मालिका जी संगणकाने पार पाडली पाहिजे.

    प्रत्येक पायरी शेवटी माहितीच्या किंवा डेटाच्या विशिष्ट भागाचे व्यवस्थापन करते.

सामान्य अर्थाने, संगणक प्रोग्राम म्हणजे चरण-दर-चरण सूचना ज्या संगणकाला ऑपरेटरद्वारे दिल्या जातात आणि संगणक एकामागून एक कार्यान्वित करतो. प्रत्येक वैयक्तिक सूचना म्हणतात सूचना. ActionScript मध्ये, प्रत्येक विधानानंतर अर्धविराम असतो.

थोडक्यात, वैयक्तिक प्रोग्राम निर्देशाची सर्व कार्ये संगणकाच्या मेमरीमध्ये संग्रहित माहितीच्या अनेक बिट नियंत्रित करण्यासाठी खाली येतात. एक साधे उदाहरण म्हणजे दोन संख्या जोडणे आणि निकाल संगणकाच्या मेमरीमध्ये संग्रहित करणे. संगणकाच्या स्क्रीनवर आयत काढणे आणि त्या आयताला स्क्रीनवरील दुसऱ्या स्थानावर हलविण्यासाठी प्रोग्राम तयार करणे हे अधिक जटिल उदाहरण आहे. आयताविषयी काही विशिष्ट माहिती संगणकाच्या मेमरीमध्ये संग्रहित केली जाते: आयताच्या स्थानाचे x, y निर्देशांक, बाजूंची रुंदी आणि लांबी, रंग इ. यातील प्रत्येक माहिती संगणकाच्या मेमरीमध्ये साठवली जाते. स्क्रीनवर आयत वेगळ्या ठिकाणी हलवण्याच्या प्रोग्रामच्या अल्गोरिदममध्ये x समन्वय 200 आणि y समन्वय 150 वर सेट करणे यासारख्या गोष्टी करणे समाविष्ट आहे. दुसऱ्या शब्दांत, तुम्हाला x आणि y निर्देशांकांना नवीन मूल्ये नियुक्त करणे आवश्यक आहे. संगणक या डेटावर काही ऑपरेशन्स करतो, वापरकर्त्यापासून लपवून ठेवतो, या संख्यांना प्रत्यक्षात संगणकाच्या स्क्रीनवर दर्शविलेल्या प्रतिमेमध्ये रूपांतरित करण्यासाठी. तथापि, मूलभूत स्तरावर, हे जाणून घेणे पुरेसे आहे की स्क्रीनवर आयत हलविण्याच्या प्रक्रियेमध्ये केवळ संगणकाच्या मेमरीमधील डेटा बिट बदलणे समाविष्ट असते.

चल आणि स्थिरांक

मुळात, प्रोग्रामिंग प्रक्रियेमध्ये संगणकाच्या मेमरीमधील डेटाचा फक्त काही भाग बदलणे समाविष्ट असते. म्हणून, प्रोग्राममध्ये डेटाचा एक भाग दर्शविण्याचा मार्ग असणे महत्वाचे आहे. चलसंगणकाच्या मेमरीमधील मूल्य दर्शविणारे नाव आहे. व्हॅल्यू मॅनिपुलेट करण्यासाठी स्टेटमेंट लिहिताना व्हॅल्यूऐवजी व्हेरिएबलचे नाव लिहिले जाते. जेव्हा कॉम्प्युटरला प्रोग्राममध्ये व्हेरिएबल नावाचा सामना करावा लागतो, तेव्हा तो त्याच्या मेमरीमध्ये प्रवेश करतो आणि तेथे असलेल्या मूल्याचा वापर करतो. उदाहरणार्थ, जर तुमच्याकडे value1 आणि value2 नावाची दोन व्हेरिएबल्स असतील, प्रत्येकामध्ये एक संख्या असेल, तर तुम्ही संख्या जोडण्यासाठी खालील विधान लिहू शकता:

मूल्य1 + मूल्य2

सराव मध्ये या पायऱ्या पार पाडताना, संगणक प्रत्येक व्हेरिएबलची मूल्ये शोधतो आणि त्यांना जोडतो.

ActionScript 3.0 मध्ये, व्हेरिएबलचे तीन वेगळे भाग असतात:

    व्हेरिएबल नाव

    डेटाचा प्रकार जो व्हेरिएबलमध्ये संग्रहित केला जाऊ शकतो

    संगणक मेमरी मध्ये संग्रहित वास्तविक मूल्य

संगणक एखाद्या मूल्यासाठी प्लेसहोल्डर म्हणून नाव कसे वापरतो हे पाहिले. डेटा प्रकार तितकाच महत्त्वाचा आहे. जेव्हा तुम्ही ActionScript मध्ये व्हेरिएबल तयार करता, तेव्हा तुम्ही संग्रहित करण्यासाठी विशिष्ट डेटा प्रकार निर्दिष्ट करता. आतापासून, प्रोग्राम कमांड कार्यान्वित करताना, व्हेरिएबलमध्ये फक्त या डेटा प्रकाराची मूल्ये संग्रहित केली जाऊ शकतात. तुम्ही या डेटा प्रकाराशी संबंधित काही वैशिष्ट्ये वापरून मूल्य हाताळू शकता. ActionScript मध्ये व्हेरिएबल तयार करण्यासाठी (या प्रक्रियेला डिक्लेरेशन किंवा कार्यव्हेरिएबल) var सूचना वापरली जाते:

Var value1:संख्या;

हे उदाहरण व्हेरिएबल व्हॅल्यू 1 तयार करण्यासाठी कमांड परिभाषित करते जे फक्त प्रकार क्रमांकाची मूल्ये संचयित करू शकते. (ActionScript वातावरणात संख्या हा एक विशिष्ट डेटा प्रकार आहे.) तुम्ही व्हेरिएबलमध्ये थेट मूल्य देखील संचयित करू शकता:

Var value2:संख्या = 17;

Adobe Flash व्यावसायिक

फ्लॅश प्रोफेशनलकडे व्हेरिएबल सेट करण्याचा आणखी एक मार्ग आहे. जेव्हा तुम्ही मूव्ही क्लिप चिन्ह, बटण चिन्ह किंवा मजकूर बॉक्स चिन्ह स्टेजवर ठेवता, तेव्हा तुम्ही प्रॉपर्टी इन्स्पेक्टरमध्ये एक उदाहरण नाव देऊ शकता. लपलेल्या मोडमध्ये, फ्लॅश प्रोफेशनल उदाहरणाच्या नावाप्रमाणेच एक व्हेरिएबल तयार करते. स्टेजवर या घटकाचे प्रतिनिधित्व करण्यासाठी हे नाव ActionScript कोडमध्ये वापरले जाऊ शकते. उदाहरणार्थ, समजा स्टेजवर मूव्ही क्लिपचे चिन्ह आहे आणि तुम्ही त्याला रॉकेटशिप नाव द्याल. जेव्हा तुम्ही RocketShip व्हेरिएबल ActionScript कोडमध्ये वापरता, तेव्हा तुम्ही प्रत्यक्षात मूव्ही क्लिप नियंत्रित करता.

स्थिरव्हेरिएबल सारखे. हे असे नाव आहे जे संगणक मेमरीमध्ये दिलेल्या डेटा प्रकाराचे मूल्य दर्शवते. फरक असा आहे की ActionScript ऍप्लिकेशनच्या अंमलबजावणीदरम्यान स्थिरांक फक्त एकदाच मूल्य नियुक्त केले जाते. एकदा स्थिरांकाला मूल्य नियुक्त केल्यानंतर, ते यापुढे अनुप्रयोगात बदलले जात नाही. स्थिरांक परिभाषित करण्यासाठी वाक्यरचना जवळजवळ व्हेरिएबल परिभाषित करण्यासाठी वाक्यरचना सारखीच असते. फरक एवढाच आहे की var कीवर्ड ऐवजी const कीवर्ड वापरला जातो:

Const SALES_TAX_RATE:संख्या = 0.07;

एका स्थिरांकाचा वापर एखाद्या प्रकल्पाच्या अनेक टप्प्यांमध्ये समावेश असलेले मूल्य परिभाषित करण्यासाठी केले जाते आणि जे सामान्य परिस्थितीत बदलत नाही. शाब्दिक मूल्यांऐवजी स्थिरांक वापरल्याने कोड अधिक वाचनीय बनतो. उदाहरणार्थ, एकाच कोडच्या दोन आवृत्त्यांचा विचार करा. किंमतीला SALES_TAX_RATE व्हेरिएबलच्या मूल्याने गुणण्यासाठी एक कोड वापरला जातो. किंमत 0.07 ने गुणाकार करण्यासाठी दुसरा कोड वापरला जातो. SALES_TAX_RATE स्थिरांक वापरणारी आवृत्ती समजणे सोपे आहे. याव्यतिरिक्त, असे गृहीत धरा की स्थिर बदलांद्वारे निर्दिष्ट केलेले मूल्य. जर तुमचा प्रकल्प मूल्य दर्शवण्यासाठी स्थिरांक वापरत असेल, तर तुम्ही मूल्य एकाच ठिकाणी बदलू शकता (स्थिर घोषणा). त्याउलट, प्रोग्राम केलेली शाब्दिक मूल्ये वापरताना तुम्हाला ते विविध ठिकाणी बदलण्याची आवश्यकता असेल.

डेटा प्रकार

ActionScript मध्ये, व्हेरिएबल्स तयार करताना तुम्ही वापरू शकता असे अनेक डेटा प्रकार आहेत. यापैकी काही डेटा प्रकार साधे किंवा मूलभूत डेटा प्रकार मानले जातात:

    स्ट्रिंग: मजकूर मूल्ये, जसे की पुस्तकाच्या अध्यायाचे नाव किंवा मजकूर

    अंकीय: ActionScript 3.0 मध्ये तीन विशिष्ट संख्यात्मक डेटा प्रकार समाविष्ट आहेत:

    • संख्या: कोणतीही पूर्णांक किंवा अंशात्मक संख्यात्मक मूल्ये

      int: अपूर्णांकांशिवाय पूर्ण संख्या

      uint: स्वाक्षरी न केलेले (नकारात्मक) पूर्णांक

    बुलियन: सत्य-असत्य मूल्ये, जसे की स्विच स्थिती किंवा दोन मूल्यांची समानता किंवा असमानता

साधे डेटा प्रकार माहितीचे एकल भाग दर्शवतात: उदाहरणार्थ, एकल संख्या किंवा एकल मजकूर. तथापि, ActionScript वातावरणात परिभाषित केलेले बहुतेक डेटा प्रकार जटिल डेटा प्रकार आहेत. ते एका कंटेनरमध्ये मूल्यांचा संच दर्शवतात. उदाहरणार्थ, डेटा प्रकार Date सह व्हेरिएबल एकल मूल्य (वेळातील एक बिंदू) दर्शवते. तथापि, तारखेच्या मूल्यामध्ये अनेक मूल्यांचा समावेश होतो: दिवस, महिना, वर्ष, तास, मिनिटे, सेकंद इ., जे सर्व एकल संख्या आहेत. सामान्यतः, तारखेला एकच मूल्य मानले जाते आणि तारीख व्हेरिएबल तयार करून एकल मूल्य म्हणून हाताळले जाऊ शकते. तथापि, संगणकामध्ये, तारखेला अनेक मूल्यांचा समूह म्हणून पाहिले जाते जे एकत्रितपणे एक तारीख परिभाषित करतात.

बहुतेक अंगभूत डेटा प्रकार, तसेच बहुतेक प्रोग्रामर-परिभाषित डेटा प्रकार, जटिल आहेत. काही जटिल डेटा प्रकार तुम्हाला आधीच परिचित असतील:

    MovieClip: चित्रपट क्लिप चिन्ह

    टेक्स्टफील्ड: डायनॅमिक किंवा इनपुट टेक्स्ट फील्ड

    SimpleButton: बटण चिन्ह

    तारीख: वेळेतील एका बिंदूबद्दल माहिती (तारीख आणि वेळ)

डेटा प्रकारासाठी दोन मोठ्या प्रमाणावर वापरले जाणारे समानार्थी शब्द आहेत वर्ग आणि ऑब्जेक्ट. वर्गफक्त डेटा प्रकार व्याख्या आहे. हे डेटा प्रकारातील सर्व ऑब्जेक्ट्सच्या टेम्पलेटच्या समतुल्य आहे, जसे की "उदाहरण डेटा प्रकारातील सर्व व्हेरिएबल्समध्ये A, B आणि C ही वैशिष्ट्ये आहेत." एक वस्तू, दुसरीकडे, वर्गाचे फक्त एक वास्तविक उदाहरण आहे. उदाहरणार्थ, MovieClip डेटा प्रकार असलेल्या व्हेरिएबलचे वर्णन MovieClip ऑब्जेक्ट म्हणून केले जाऊ शकते. खाली, समान कल्पना वेगवेगळ्या शब्दांत व्यक्त केली आहे.

    myVariable चा डेटा प्रकार क्रमांक आहे.

    मायव्हेरिएबल व्हेरिएबल हे नंबरचे उदाहरण आहे.

    व्हेरिएबल myVariable एक संख्या ऑब्जेक्ट आहे.

    व्हेरिएबल myVariable हे संख्या वर्गाचे उदाहरण आहे.

फ्लॅश प्रोग्रामिंग

शिक्षक आणि विद्यार्थ्यांसाठी निवडक अभ्यासक्रम कार्यक्रम आणि उपदेशात्मक पुस्तिका

अभ्यासक्रम कार्यक्रम. १

1. परिचय: 1

2. अभ्यासक्रमाचे विषय: 2

3. साहित्य: 2

शिक्षक आणि विद्यार्थ्यांसाठी डिडॅक्टिक मॅन्युअल. 2

1. परिचय, "फ्रेम क्रिया" विंडो. 2

2. चल. 4

3. I/O फील्ड. ५

4. सशर्त ऑपरेटर. 8

5. लूप “पॅरामीटरसह” आणि लूप “व्हाइल”. अकरा

7. ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग. १७

8. गुणधर्मांचे प्रोग्रामेटिक बदल. 19

9. तीन-फ्रेम सायकल. सॉफ्टवेअर ॲनिमेशन. 22

10. प्रोजेक्ट “इंटरएक्टिव्ह गेम - शूटिंग रेंज”. २४

अभ्यासक्रम कार्यक्रम

1. परिचय:

मॅक्रोमीडिया फ्लॅश प्रोग्राम त्याच्या क्षमतेने आश्चर्यचकित करतो. प्रगत रेखाचित्र आणि ॲनिमेशन साधनांव्यतिरिक्त, फ्लॅशमध्ये अंगभूत क्रिया स्क्रिप्ट प्रोग्रामिंग भाषा आहे. या भाषेवर प्रभुत्व मिळवणे तुम्हाला केवळ प्रोग्राम ॲनिमेशन, फ्लॅश गेम्स आणि परस्परसंवादी वेब पृष्ठे तयार करण्याची परवानगी देत ​​नाही, तर तुम्हाला ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग तंत्रज्ञानाबद्दल (यापुढे OOP म्हणून संदर्भित) ज्ञान देखील देते.

फ्लॅशच्या निर्मात्यांनी अप्रशिक्षित वापरकर्त्यासाठी प्रोग्रामिंग सोपे करण्याचा प्रयत्न केला तरीही, या साधनांमध्ये प्रभुत्व मिळविण्यासाठी बराच वेळ लागतो. हा कोर्स निवडक आहे; हायस्कूलमधील मुख्य विषयाची अधिक माहितीपूर्ण निवड करण्यासाठी विद्यार्थी ते निवडतात. प्रोग्रामचा तपशीलवार अभ्यास आणि गंभीर प्रकल्पांची अंमलबजावणी हे विशेष अभ्यासक्रमांचे कार्य असू शकते (उदाहरणार्थ, “वेब प्रोग्रामिंग”, “वेब डिझाइन”, “ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग” इ.), तसेच स्वतंत्र अभ्यास. फ्लॅश प्रोग्रामिंग कोर्स हा 9व्या वर्गातील विद्यार्थ्यांसाठी आहे ज्यांना फ्लॅश ॲनिमेशन आणि प्रोग्रामिंगच्या मूलभूत गोष्टींशी आधीच परिचित आहे. निवडक अभ्यासक्रमाचा भाग म्हणून, प्रोग्रामिंग, ओओपी तंत्रज्ञानाच्या मूलभूत गोष्टींवर प्रभुत्व मिळवणे आणि फ्लॅशमध्ये साधे प्रकल्प लागू करणे शक्य आहे. कोर्समध्ये फ्लॅश कॅल्क्युलेटर प्रकल्प आणि परस्परसंवादी गेम प्रकल्पासह 8 प्रकल्पांचा समावेश आहे. हा अभ्यासक्रम शिक्षक आणि विद्यार्थ्यांसाठी अभ्यासपूर्ण मॅन्युअलसह सुसज्ज आहे.

अभ्यासक्रमाचा उद्देश:

विद्यार्थ्यांना स्वारस्य दाखवण्यासाठी, परस्परसंवादी अनुप्रयोग तयार करण्यासाठी आधुनिक सॉफ्टवेअरची क्षमता दर्शविण्यासाठी; ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंगच्या मूलभूत गोष्टींचा परिचय द्या; मॅक्रोमीडिया फ्लॅशचे तुमचे ज्ञान वाढवणे.

अभ्यासक्रमाचे उद्दिष्ट:

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग तंत्रज्ञान सादर करा; संवादात्मक अनुप्रयोग तयार करण्यासाठी ऍक्शन स्क्रिप्टचा वापर दर्शवा; दोन प्रोजेक्ट तयार करा: फ्लॅश कॅल्क्युलेटर आणि इंटरएक्टिव्ह शूटिंग गॅलरी गेम.

विद्यार्थ्यांच्या ज्ञानाची आवश्यकता:

हा अभ्यासक्रम यशस्वीरित्या पूर्ण करण्यासाठी, विद्यार्थ्यांना फ्लॅशचे मूलभूत ज्ञान असणे आवश्यक आहे: साध्या प्रतिमा तयार करणे, लायब्ररी चिन्हांसह कार्य करणे, मुख्य फ्रेम्स, फ्लॅश ॲनिमेशन आणि ॲक्शन स्क्रिप्टमधील मूलभूत क्रियांची समज असणे आवश्यक आहे.

हा अभ्यासक्रम यशस्वीरित्या पूर्ण करण्यासाठी, विद्यार्थ्यांना प्रोग्रामिंगचे मूलभूत ज्ञान असणे आवश्यक आहे: अल्गोरिदम, प्रोग्राम, व्हेरिएबल यासारख्या मास्टर संकल्पना आणि मूलभूत अल्गोरिदमिक संरचना माहित असणे आवश्यक आहे.

संगणक आवश्यकता:

Macromedia Flash MX (किंवा उच्च) स्थापित केलेला संगणक.

"फ्लॅश प्रोग्रामिंग" हा कोर्स 12 तासांसाठी डिझाइन केला आहे.

2. अभ्यासक्रमाचे विषय:

विषय

तासांची संख्या

फ्लॅश पुनरावृत्ती.

I/O फील्ड, अल्गोरिदमिक संरचना

फील्ड प्रकार (स्थिर, डायनॅमिक, आउटपुट); व्हेरिएबल्स, कॅरेक्टर आणि अंकीय व्हेरिएबल्सची घोषणा, बटणावर कोड जोडणे, कंडिशनल स्टेटमेंट, पॅरामीटरसह लूप, तर लूप, फ्लॅशमध्ये त्यांची अंमलबजावणी.

ठराविक कार्ये: उड्डाणाची किंमत मोजणे, चतुर्भुज समीकरण सोडवणे, घातांक, मालिकेच्या बेरीजचा एक घटक शोधणे

प्रकल्प: फ्लॅश कॅल्क्युलेटर

OOP च्या मूलभूत संकल्पना

ऑब्जेक्ट, गुणधर्म, पद्धत, घटना

गुणधर्मांचे प्रोग्रामेटिक बदल. सॉफ्टवेअर ॲनिमेशन.

बदलण्यायोग्य गुणधर्म; चिन्हांची निर्मिती, त्यांची नावे; वर्ण गुणधर्म बदलणे, फ्लॅशमध्ये प्रोग्राम कोड अंमलबजावणीची वैशिष्ट्ये, तीन-फ्रेम चक्र.

ठराविक कार्ये: बदलण्यायोग्य गुणधर्मांसह ऑब्जेक्ट तयार करणे (योग्य की दाबणे). एक हलणारी वस्तू तयार करणे.

प्रकल्प: इंटरएक्टिव्ह गेम शूटिंग रेंज.

3. साहित्य:

Beluntsov V. Macromedia Flash: इंटरनेटवर ॲनिमेशन. "DESS कॉम", मॉस्को 2001. फ्लॅश एमएक्स 2004 साइट www. *****

शिक्षक आणि विद्यार्थ्यांसाठी डिडॅक्टिक मॅन्युअल

1. परिचय, कृती पॅलेट

मॅक्रोमीडिया फ्लॅशची स्वतःची प्रोग्रामिंग भाषा, ॲक्शन स्क्रिप्ट आहे. हे तुम्हाला फ्लॅश व्हिडिओ परस्परसंवादी बनविण्यास अनुमती देते. भाषेची क्षमता खूप मोठी आहे, जी आपल्याला गंभीर कार्यक्रम तयार करण्यास अनुमती देते. ॲक्शन स्क्रिप्ट ही एक स्वतंत्र प्रोग्रामिंग भाषा नाही. हा स्क्रिप्टचा एक संच आहे - कोडचे तुकडे जे केवळ फ्लॅश मूव्हीमध्ये "लाइव्ह" असतात, जे तथापि, पूर्ण प्रोग्राम तयार करण्यात व्यत्यय आणत नाहीत.

तुम्हाला हे लक्षात ठेवण्याची गरज आहे की ॲक्शन स्क्रिप्ट ही इव्हेंट-चालित भाषा आहे, म्हणजेच जेव्हा एखादी घटना घडते तेव्हा स्क्रिप्ट कार्यान्वित केली जाईल. विशिष्ट की फ्रेम गाठल्यावर अशी घटना घडू शकते, उदाहरणार्थ, शेवटच्या की फ्रेमवर आपण stop() कमांड जोडतो. ही फक्त एक आज्ञा असूनही, ही एक पूर्ण स्क्रिप्ट आहे जी शेवटची फ्रेम गाठल्यावर अंमलात येईल - व्हिडिओ थांबेल. दुसरी घटना म्हणजे ऑन-स्क्रीन बटणावर माउस क्लिक करणे किंवा कीबोर्ड की दाबणे.

प्रोग्राम कोड जोडण्यासाठी, तुम्हाला स्क्रिप्ट जोडायची असलेली की फ्रेम निवडणे आवश्यक आहे (किंवा तयार केलेले बटण निवडा) आणि F9 की दाबा (आकृती 1).

तांदूळ. 1 कृती पॅनेल.

कृती विंडोचे मुख्य घटक पाहू. विंडोच्या डाव्या बाजूला कमांड्सच्या सूचीने व्यापलेले आहे जे तुम्ही डाव्या माऊस बटणाने त्यावर डबल-क्लिक करून निवडू शकता. सर्व कमांड्स, आणि त्यापैकी बरेच आहेत, “ग्लोबल फंक्शन”, “ग्लोबल प्रॉपर्टीज” इत्यादी बारा ब्लॉक्समध्ये गटबद्ध केले आहेत. क्लिक केल्यानंतर, कमांड विंडोच्या उजव्या बाजूला हस्तांतरित केली जाते. त्यात प्रोग्राम कोड आहे. तुम्ही अनावश्यक कमांड हटवू शकता (की हटवा) किंवा कर्सर की वापरून किंवा बटणे वापरून स्क्रिप्टमध्ये वर आणि खाली हलवू शकता. अर्थात, हलवण्याची किंवा हटवण्याची आज्ञा प्रथम हायलाइट करणे आवश्यक आहे. विंडोचा खालचा भाग प्रत्येक विशिष्ट कमांडच्या बदलण्यायोग्य पॅरामीटर्सवर दिला जातो. उदाहरणार्थ, gotoAndPlay() ट्रान्झिशन कमांडमध्ये तुम्हाला या ओळीवर पोहोचताना कोणत्या फ्रेमवर जायचे हे सूचित करणे आवश्यक आहे. हे करण्यासाठी, आपल्याला आवश्यक फ्रेम क्रमांक कंसात प्रविष्ट करणे आवश्यक आहे.

प्रोग्राम कोड लिहिताना, कोड मॅन्युअली टाइप करणे अधिक सोयीस्कर आणि जलद आहे. हे लक्षात ठेवणे महत्त्वाचे आहे की तुम्ही टाइप करता त्या कमांडमध्ये ActionScript भाषा केस सेन्सिटिव्ह असते. याचा अर्थ GoToandPlay() कमांड चुकीची असेल.

कोड चालवण्यासाठी आणि परिणाम पाहण्यासाठी हे जोडणे बाकी आहे, तुम्हाला व्हिडिओ व्ह्यूइंग मोडमध्ये प्रवेश करणे आवश्यक आहे, हे करण्यासाठी, Ctrl-Enter की संयोजन दाबा.

प्रश्नांचे पुनरावलोकन करा:

स्क्रिप्ट म्हणजे काय? फ्लॅशमध्ये कोणते इव्हेंट कोड एक्झिक्यूशन ट्रिगर करतात? मी ॲक्शन पॅलेट कसे आणू? ॲक्शन पॅलेटमध्ये कोणते घटक असतात? फ्लॅश मूव्हीमधून लॉन्च करण्यायोग्य फाइल कशी तयार करावी?

2. चल

कोणत्याही प्रोग्रामिंग भाषेच्या मूलभूत संकल्पनांपैकी एक व्हेरिएबल आहे. असे गृहीत धरले जाते की वाचक व्हेरिएबलच्या संकल्पनेशी परिचित आहे, म्हणून फ्लॅशमध्ये ते कसे लागू केले जाते ते पाहू या.

समजा आपल्याला दोन संख्या जोडायची आहेत. हे साधे अंकगणित ऑपरेशन करण्यासाठी, पहिल्या की फ्रेममध्ये एक बटण तयार करा: एक आयत काढा, एक मथळा बनवा आणि नंतर परिणामी प्रतिमा चिन्हात रूपांतरित करा (मेनू घाला - चिन्हात रूपांतरित करा, वर्तन सेट करण्यास विसरू नका. चिन्ह - बटण). परिणामी, माऊस क्लिकला प्रतिसाद देणारी एखादी वस्तू दिसली आहे, हे व्हिडिओ व्ह्यूइंग मोडमध्ये प्रवेश करून सहजपणे सत्यापित केले जाऊ शकते.

पहिला क्रमांक x1 व्हेरिएबलमध्ये आणि दुसरा x2 व्हेरिएबलमध्ये संग्रहित केला जाईल. निकाल सुमा नावाखाली सेव्ह करून स्क्रीनवर प्रदर्शित करू द्या. आउटपुट फील्ड बनवण्यासाठी (पुढील धड्यात याबद्दल अधिक), मजकूर साधनावर क्लिक करा आणि स्क्रीनचे क्षेत्र निवडण्यासाठी वापरा - भविष्यातील मजकूर फील्ड. नंतर फ्लोटिंग सिम्बॉल पॅनेलवर जा (मेनू विंडो - पॅनेल - चिन्ह) आणि टेक्स्ट ऑप्शन्स टॅबमध्ये मजकूर फील्डचा प्रकार स्टुटिक टेक्स्ट टू डिमामिक टेक्स्ट (आकृती 2) मध्ये बदला. या फील्डला व्हेरिएबल – सुमा असे नाव देण्याची खात्री करा. तसेच, फील्ड स्क्रीनवर दृश्यमान करण्यासाठी, फ्रेम/पार्श्वभूमी चेकबॉक्स तपासा.

तांदूळ. 2 मूल्ये प्रदर्शित करण्यासाठी डायनॅमिक फील्ड तयार करा.

आता आपण बनवलेल्या बटणाशी कोडची तुलना करू. बटण निवडा आणि F9 दाबा.

विंडोच्या डाव्या भागात, ऑपरेशन्स - सेट व्हेरिएबल ब्लॉक निवडा. विंडोच्या तळाशी आम्ही पॅरामीटर्स सेट करतो: व्हेरिएबल – x1, मूल्य 5. कृपया लक्षात घ्या की व्हॅल्यू फील्डच्या पुढे टॉगल पॅरामीटर एक्सप्रेशन आहे. ते निवडणे आवश्यक आहे, अन्यथा व्हेरिएबल x1 क्रमांक 5 आणि चिन्ह संचयित करेल. अशा प्रकारे व्हेरिएबलचा प्रकार सेट केला जातो. जसे तुम्ही समजता, AS मध्ये फक्त दोन प्रकारचे व्हेरिएबल्स आहेत, संख्यात्मक आणि स्ट्रिंग, टर्बो पास्कल भाषेत प्रचलित आहे त्याप्रमाणे आगाऊ प्रकारांचे वर्णन करा. दुसऱ्या व्हेरिएबलसाठी अनुक्रमे समान क्रिया करा, त्याचे नाव x2 आहे आणि मूल्य 8 आहे. आम्हाला फक्त तिसरी ओळ जोडायची आहे - तिसरा व्हेरिएबल सेट करा, त्याचे नाव: summa (आउटपुट फील्डच्या नावाप्रमाणेच) , मूल्य: x1 + x2, अर्थातच, निवडलेल्या घटक अभिव्यक्ती.

या ऑपरेशन्सच्या परिणामी, उजव्या बाजूला आपल्याकडे आकृतीमध्ये दर्शविलेले कोड आहे (आकृती 3). कृपया लक्षात घ्या की प्रत्येक कमांड अर्धविरामाने विभक्त केली आहे. प्रथम ऑन (रिलीज) कमांड आहे, ते सूचित करते की बटणावरून माउस की सोडल्यावर हा कोड कार्यान्वित होण्यास सुरुवात होईल. हा कोड स्क्रीन बटणाशी संबंधित असल्याने, ही कमांड आपोआप जोडली जाते. त्यानंतर, कर्ली ब्रेसेसमध्ये कोड येतो जो घटना घडल्यावर अंमलात आणला पाहिजे.

इतकंच! आपण सर्वकाही योग्यरित्या केले असल्यास, व्हिडिओ पाहण्याच्या मोडवर जाऊन आणि आपल्या बटणावर क्लिक करून, आउटपुट फील्डमध्ये 13 क्रमांक दिसून येईल.

प्रश्नांचे पुनरावलोकन करा:

मजकूर किंवा अंकीय माहिती प्रदर्शित करण्यासाठी व्हेरिएबलचे नाव कसे सेट करावे? फ्लॅशमध्ये कोणत्या प्रकारचे व्हेरिएबल्स वापरले जातात? तयार केलेले व्हेरिएबल अंकीय आहे हे कसे दाखवायचे? फ्लॅशमध्ये बटण कसे तयार करायचे आणि त्यासाठी कोड कसा जोडायचा? स्क्रिप्टच्या सुरुवातीला ऑन (रिलीज) कमांडचा अर्थ काय आहे?

3. I/O फील्ड

नवीन प्रोग्रामिंग भाषा शिकणे प्रोग्राम लिहिण्यापासून सुरू होते ज्यामध्ये प्रारंभिक मूल्ये प्रविष्ट केली जातात, नंतर त्यांच्यासह काही अंकगणित परिवर्तन होतात आणि परिणाम स्क्रीनवर प्रदर्शित होतो. फ्लॅश स्क्रीनवर मजकूर प्रदर्शित करण्यासाठी मजकूर फील्ड वापरते. मजकूर फील्ड तयार करण्यासाठी, तुम्हाला मजकूर टूल (टूलबारवर) निवडण्याची आवश्यकता आहे आणि ज्या ठिकाणी तुम्हाला मजकूर जोडायचा आहे तेथे अभ्यासक्रम ठेवून तुम्ही मजकूर ब्लॉक (आकृती 4) "रेखांकित" करा.

तांदूळ. 4 मजकूर फील्ड तयार करा.

परिणामी, तुमच्याकडे एक स्थिर मजकूर फील्ड आहे ज्यामध्ये तुम्ही कोणताही मजकूर टाइप करू शकता. मजकूर फील्डचे तीन प्रकार आहेत: स्थिर, डायनॅमिक आणि आउटपुट फील्ड. फील्ड प्रकार "पॅरामीटर्स" टॅब, चिन्ह पॅनेल (मागील प्रकरण पहा) वापरून सेट केला आहे. चला प्रत्येक फील्डचा उद्देश आणि सेटिंग्ज अधिक तपशीलवार पाहू:

फ्लॅश सीनवर लेबले प्रदर्शित करण्यासाठी स्थिर फील्ड वापरला जातो. नावाप्रमाणेच, हे फील्ड प्रोग्रामॅटिकरित्या बदलले जाऊ शकत नाही. तुमच्यासाठी फक्त फॉन्ट, आकार, रंग इ. सेट करण्यासाठी उपलब्ध आहे. टाइप करताना, हे फील्ड आपोआप विस्तृत होईल, प्रविष्ट केलेला मजकूर अनेक ओळींमध्ये प्रदर्शित होईल. या प्रकरणात, मजकूर फील्डची रुंदी आपण मजकूर ब्लॉक "रेखांकन" करताना सेट केलेली असेल. ते बदलण्यासाठी, तुम्हाला टेक्स्ट टूलसह ब्लॉक निवडणे आवश्यक आहे आणि मजकूर ब्लॉकच्या वरच्या उजव्या मार्करला हलवावे लागेल.

आकृती 5

आउटपुट फील्ड तयार करण्यासाठी डायनॅमिक फील्डचा वापर केला जातो ज्यामध्ये तुमचा व्हिडिओ जसजसा पुढे जाईल तसतशी माहिती अपडेट केली जाऊ शकते. मजकूर ब्लॉक प्रोग्राममध्ये प्रवेश करण्यासाठी, त्याचे नाव असणे आवश्यक आहे, जे "व्हेरिएबल" फील्डमध्ये निर्दिष्ट केले आहे (आकृती 5). मी तुम्हाला फक्त लॅटिन अक्षरे व्हेरिएबल नाव म्हणून वापरण्याचा सल्ला देतो, रिक्त स्थानांशिवाय. त्याच विंडोमध्ये, तुम्ही बॉर्डर/बॅकग्राउंड प्रॉपर्टी सक्षम करू शकता. आता शीटवर एक फ्रेम दिसेल ज्यामध्ये प्रदर्शित मजकूर दिसेल, हे खूप सोयीचे आहे. डिफॉल्टनुसार निवडलेल्या सिंगल लाइनसह कॉम्बो बॉक्स, तुम्हाला मजकूर एका ओळीत किंवा अनेक (मल्टीलाइन व्हॅल्यू) मध्ये प्रदर्शित केला जाईल हे निर्दिष्ट करण्याची परवानगी देतो. "निवड करण्यायोग्य" स्विच, डीफॉल्टनुसार सक्षम केलेले, वापरकर्ता दिलेल्या फील्डमधून मूल्ये निवडू शकतो की नाही हे निर्धारित करते, उदाहरणार्थ, क्लिपबोर्डवर कॉपी करण्यासाठी. कोणत्याही फील्डप्रमाणे, तुम्ही मजकूर पॅरामीटर्स सेट करू शकता: फॉन्ट, आकार, रंग, इ. तुम्ही या फील्डमध्ये कोणताही मजकूर टाइप केल्यास, प्रोग्राम त्याचे मूल्य बदलेपर्यंत तो प्रदर्शित केला जाईल.

कीबोर्डवरील मूल्ये प्रविष्ट करण्यासाठी इनपुट फील्ड किंवा इनपुट मजकूर वापरला जातो. इनपुट फील्ड पॅरामीटर्स विंडो वर चर्चा केलेल्या विंडोसारखी दिसते. येथे मुख्य पॅरामीटर "व्हेरिएबल" फील्ड देखील आहे. वापरकर्त्याने प्रविष्ट केलेला डेटा कोणत्या नावाखाली रेकॉर्ड केला जाईल हे आपण निर्दिष्ट करता.

आकृती 6

मजकूर फील्डचा उद्देश समजून घेऊन, आपण खालील प्रकल्प करू शकता. “प्रौढ हवाई तिकिटाची किंमत, तसेच फ्लाइटमध्ये प्रवास करणाऱ्या प्रौढ आणि मुलांची संख्या संगणकात टाकली जाते. जेव्हा तुम्ही योग्य बटणावर क्लिक करता, तेव्हा संगणक मुलाच्या तिकिटाची किंमत (एखाद्या प्रौढ व्यक्तीच्या किंमतीच्या 50%) आणि फ्लाइटची एकूण किंमत मोजतो.” कार्यक्रमाचे स्वरूप पहा (आकृती 6). जसे की आपण या कार्यामध्ये सहजपणे पाहू शकता, मूल्ये प्रविष्ट केली जातात आणि परिणाम आउटपुट केले जातात जेव्हा बटण दाबले जाते तेव्हा सर्व कोड कार्यान्वित केले जाणे आवश्यक आहे आणि म्हणून या बटणाशी संबंधित असणे आवश्यक आहे.

सुरू करण्यासाठी, पाच स्थिर मजकूर फील्ड तयार करा आणि त्यांना योग्य मजकूराने भरा.

तीन इनपुट फील्ड तयार करा, प्रत्येक फील्डसाठी व्हेरिएबल्सला अनन्य नावे द्या, उदाहरणार्थ: stv (प्रौढ तिकिटाची किंमत), kolv (प्रौढांची संख्या) आणि kold (मुलांची संख्या).

दोन डायनॅमिक फील्ड तयार करा, प्रत्येक फील्डसाठी व्हेरिएबल्सला अनन्य नावे द्या, उदाहरणार्थ: std (मुलांच्या तिकिटाची किंमत) आणि itog (उड्डाणाची एकूण रक्कम).

"फ्लाइट कॉस्ट कॅल्क्युलेशन" आणि "क्लीअर फील्ड" अशी दोन बटणे बनवा.

पहिल्या बटणासाठी, खालील कोड जोडा (बटण, उजवी की - ऑपरेशन्स):

जर (stv==null) (

जर (kolv==null) (

जर (कोल्ड == शून्य) (

itog = stv * kolv + std * kold;

उपान्त्य रेषा लहान मुलांच्या तिकिटाची किंमत (प्रौढाच्या निम्मी किंमत) मोजते आणि हे मूल्य std व्हेरिएबल (संबंधित आउटपुट फील्डचे नाव) वर लिहिते. शेवटची ओळ एकूण बेरीज (व्हेरिएबल itog) ची गणना करते आणि संबंधित आउटपुट फील्डमध्ये त्याचे मूल्य प्रविष्ट करते.

तत्वतः, कोडच्या या दोन ओळींसह मिळणे शक्य होते. परंतु या प्रोग्रामसह काम करणारी व्यक्ती जर मुले फ्लाइटमध्ये सहभागी नसतील तर शून्य क्रमांक प्रविष्ट करणे आवश्यक नाही. याचा अर्थ मुलाच्या तिकिटाची किंमत (संख्यात्मक मूल्य) रिक्त मूल्याने (स्ट्रिंग मूल्य) गुणाकार केली जाईल. या "गुणाकार" चा परिणाम संबंधित आउटपुट फील्डमध्ये त्रुटी संदेश असेल. हे टाळण्यासाठी, संगणक इनपुट फील्ड रिकामे आहे की नाही हे तपासतो (kold==null) आणि तसे असल्यास, कोल्ड व्हेरिएबलला शून्य समान मूल्य नियुक्त करतो. या बांधकामाला सशर्त ऑपरेटर म्हणतात. याबद्दल अधिक पुढील विषयात. अटींसह कार्य करणे आपल्यासाठी अद्याप अवघड असल्यास, आपण ते वगळू शकता, परंतु विसरू नका, रिक्त फील्ड असू नयेत!

प्रकल्प पूर्ण करण्यासाठी, आम्ही "क्लीअर फील्ड" बटणासाठी योग्य कोड जोडू:

तुम्ही बघू शकता, जेव्हा तुम्ही या बटणावर क्लिक कराल, तेव्हा प्रत्येक व्हेरिएबल, आणि म्हणून I/O फील्डला रिक्त मूल्य नियुक्त केले जाईल (दोन अवतरण चिन्हांमध्ये काहीही नाही).

प्रश्नांचे पुनरावलोकन करा:

फ्लॅशमध्ये कोणत्या प्रकारचे टेक्स्ट बॉक्स वापरले जातात? डायनॅमिक टेक्स्ट फील्डमध्ये कोणते बदलण्यायोग्य पॅरामीटर्स असतात? कीबोर्डवरून मूल्ये प्रविष्ट करण्यासाठी कोणत्या प्रकारचे फील्ड वापरले जाते? कोडच्या खालील ओळीचा अर्थ स्पष्ट करा: itog = stv * kolv + std * kold;? वर्णन केलेल्या प्रकल्पात सशर्त ऑपरेटर का वापरला जातो?

4. सशर्त ऑपरेटर

आम्ही आधी पाहिलेला प्रोग्राम कोड रेखीय आहे. मागील क्रिया पूर्ण झाल्यानंतरच प्रत्येक कमांड कार्यान्वित केली जाते. जीवनात सर्वकाही थोडे अधिक क्लिष्ट आहे. पाऊस पडल्यास आम्ही छत्री उघडतो, आमचे ध्येय गाठल्यास आनंद होतो आणि भेदभाव शून्यापेक्षा जास्त असल्यास द्विघात समीकरणाची मुळे काढतो. वरील सर्व प्रकरणांमध्ये, आम्ही एक किंवा दुसर्या मार्गाने कार्य करतो. अशा परिस्थितीची अंमलबजावणी करण्यासाठी, सर्व प्रोग्रामिंग भाषा शाखा ऑपरेटर किंवा सशर्त ऑपरेटर प्रदान करतात. कृती स्क्रिप्ट अपवाद नाही.

आकृती 7

सशर्त ऑपरेटरला ऑपरेशन्स - इफ कमांड (आकृती 7) वर क्लिक करून कॉल केला जातो. खालील रचना विंडोच्या उजव्या बाजूला दिसते:

तर (<Не установлено>) {

च्या ऐवजी<не установлено>तुम्ही तुलना ऑपरेशन लिहिणे आवश्यक आहे, तुम्ही ते "स्थिती" फील्डमध्ये टाइप करा. अशा स्थितीचे उदाहरण z असू शकते<10, (переменная z меньше десяти).

चला मूलभूत तुलना ऑपरेशन्स पाहू:

> कमी;

< больше;

>= पेक्षा मोठे किंवा समान;

<= меньше либо равно;

समान (दोन समान चिन्हे लक्षात घ्या);

समान नाही (लक्षात घ्या की उद्गारवाचक चिन्ह म्हणजे त्याचे अनुसरण करणाऱ्या तुलना ऑपरेटरचे नकार).

अनेकदा, अनेक अटी एकाच वेळी पूर्ण केल्या पाहिजेत. यासाठी, बुलियन (तार्किक) ऑपरेशन्स वापरली जातात:

&& किंवा आणि – तार्किक आणि;

|| किंवा किंवा – तार्किक किंवा;

किंवा नाही - तार्किक नाही.

उदाहरणार्थ, कंडिशन (a == 10) && (z > 5) फक्त तेव्हाच सत्य असेल जेव्हा a व्हेरिएबल दहाच्या बरोबर असेल आणि त्याच वेळी व्हेरिएबल z पाचपेक्षा जास्त असेल.

अट असा प्रश्न आहे ज्याची फक्त दोनच उत्तरे असू शकतात, “होय” आणि “नाही.” जर स्थिती सत्य असेल, तर कर्ली ब्रेसेसमध्ये बंद केलेल्या क्रिया केल्या जातात.

कंडिशन असत्य असताना अंमलात आणल्या जाणाऱ्या कमांड्सचा एक गट जोडायचा असल्यास, तुम्हाला ऑपरेशन्स जोडणे आवश्यक आहे - बाकी. मग कोडचा तुकडा यासारखा दिसेल:

तर (<Не установлено>){

कमांड्स जोडण्यासाठी, तुम्हाला कर्सर ओळीवर ठेवला पाहिजे जिथे कमांड दिसली पाहिजे. फक्त योग्य ब्लॉकमधील इच्छित कमांड निवडणे आणि त्यावर माउसने क्लिक करणे बाकी आहे.

आकृती 8

चतुर्भुज समीकरणाची मुळे शोधण्याच्या शास्त्रीय समस्येचे निराकरण करण्यासाठी सांगितलेली तत्त्वे कशी लागू केली जातात याचा विचार करूया. “संगणकामध्ये तीन संख्या प्रविष्ट केल्या आहेत - ax2 + bx + c = 0 या द्विघात समीकरणाचे पॅरामीटर्स. प्रविष्ट केलेल्या डेटाच्या आधारे, संगणक या समीकरणाची किती मुळे आहेत हे निर्धारित करतो, त्यांची गणना करतो आणि स्क्रीनवर परिणाम प्रदर्शित करतो. प्रोग्राम विंडोचे अंदाजे दृश्य सादर केले आहे (आकृती 8).

हा प्रकल्प पूर्ण करण्यासाठी:

मुख्य दृश्यावर पहिल्या फ्रेममध्ये तीन इनपुट फील्ड तयार करा आणि त्यांना योग्य नावे द्या: a, b, c. त्यांच्या सीमा दृश्यमान करा.

I/O फील्ड लेबल करण्यासाठी काही स्थिर मजकूर फील्ड तयार करा: x2, =0, discriminant, इ.

चार डायनॅमिक मजकूर फील्ड तयार करा: d – discriminant, r – उपाय, x1 – पहिल्या रूटचे मूल्य, x2 – दुसऱ्या रूटचे मूल्य.

“समीकरण सोडवा” आणि “क्लियर” अशी दोन बटणे तयार करा.

पहिल्या "समीकरण सोडवा" बटणासाठी, खालील प्रोग्राम कोड जोडा, ॲपोस्ट्रॉफीने चिन्हांकित केलेला मजकूर - एक टिप्पणी, ते घालणे आवश्यक नाही:

जर (a == शून्य) (

जर (b == शून्य) (

जर (c == शून्य) (

' पहिली तीन सशर्त विधाने a, b, c फील्ड रिक्त आहेत का ते तपासतात,

' तसे असल्यास, ते त्यांना शून्य समान संख्यात्मक मूल्ये नियुक्त करतात

' भेदभाव (व्हेरिएबल डी) ची गणना केली जाते.

r = "मुळे नाहीत";

' जर अट पूर्ण झाली तर - भेदभाव शून्य व्हेरिएबलपेक्षा कमी आहे d

' संबंधित मजकूर मूल्य घेते

) नाहीतर जर (d == 0) (

r = "एक रूट";

x1 = (-b)/(2*a);

x2 = (-b)/(2*a);

' ऑपरेशन्स कमांड वापरली जाते - अन्यथा जर. त्याला धन्यवाद, खालील

' स्थिती तपासण्यापासून कृती सुरू होते. जर ते खरे असेल तर - भेदभाव

' शून्य बरोबर आहे, समान गणना केली जाते, व्हेरिएबल्स संबंधित

मजकूर फील्डसह संबंधित मूल्ये घेतात

r = "दोन कॉर्न" + Chr(255);

'सर्वात रहस्यमय ओळ. "दोन मुळे" शिलालेख प्रदर्शित करणे आवश्यक आहे,

' पण या रशियन अक्षराने आम्ही दुर्दैवी होतो. फ्लॅश कोड स्वीकारतो

' या पत्राशी एक ओळ खंडित आहे.

या उद्देशासाठी, अक्षर 255 चे मूल्य मजकूर स्ट्रिंगमध्ये जोडले आहे. या

' क्रिया - दोन मजकूर स्ट्रिंग्स जोडण्याला कंकटेनेशन म्हणतात.

kd = गणित. sqrt(d);

x1 = (-b+kd)/(2*a);

x2 = (-b-kd)/(2*a);

' वर्गमूळ काढण्यासाठी गणित कमांड वापरण्यात आली. sqrt(d);

त्याला म्हणण्यासाठी Objects – Mathematics – Sqrt ही कमांड वापरा

आम्हाला फक्त दुसऱ्या बटणासाठी खालील कोड जोडायचा आहे:

मला असे वाटते की येथे टिप्पण्या अनावश्यक आहेत. प्रकल्प तयार आहे. ते जतन करा, चाचणी करा.

प्रश्नांचे पुनरावलोकन करा:

फ्लॅशमध्ये कंडिशनल स्टेटमेंटची व्याख्या कोणती रचना करते? बांधकामांमध्ये काय फरक आहे: जर (<Не установлено>)() else() आणि जर (<Не установлено>))? फ्लॅशमध्ये तुम्ही नकार कसा सेट कराल? बुलियन ऑपरेशन्स काय आहेत आणि ते फ्लॅशमध्ये कसे लिहिले जातात? ओळींमध्ये काय फरक आहे: a=10 आणि a==10?

5. लूप “पॅरामीटरसह” आणि लूप “व्हायर”

पुनरावृत्ती क्रिया करण्यासाठी, प्रोग्रामिंग भाषा विशेष रचना वापरतात ज्याला लूप ऑपरेटर म्हणतात. अशी अनेक चक्रीय रचना आहेत; आम्ही दोन सर्वात सामान्य गोष्टींचा विचार करू: "पॅरामीटरसह" लूप आणि "व्हाइल" लूप. कृती स्क्रिप्ट भाषेत त्यांची अंमलबजावणी कशी केली जाते ते पाहू.

एखादी विशिष्ट क्रिया किती वेळा करायची आहे हे आधीच माहीत असताना “पॅरामीटरसह” लूप वापरला जातो. आपण खालील साधर्म्य काढू शकता - सूप तयार करण्यासाठी आपल्याला सहा बटाटे सोलणे आवश्यक आहे. जर तुम्ही क्रिया एका रेखीय अल्गोरिदमच्या स्वरूपात लिहून ठेवल्या तर तुमच्या लक्षात येईल की "बटाटे घ्या", "त्वचा सोलून घ्या", "धुवा" या आज्ञा सहा वेळा पुनरावृत्ती केल्या जातील. अल्गोरिदम अधिक कॉम्पॅक्ट करण्यासाठी आणि भविष्यात ते सहजपणे बदलता यावे म्हणून, हे लूपच्या स्वरूपात लिहिणे अधिक तर्कसंगत आहे:

पुनरावृत्ती करा (6 वेळा) (

"बटाटे घ्या";

"त्वचा सोलून घ्या";

"धुणे";

येथे सहा क्रमांक म्हणजे सायकल पॅरामीटर, पुनरावृत्तीची संख्या. कर्ली ब्रेसेसमध्ये जे आहे ते पुनरावृत्ती करण्यायोग्य आज्ञा आहेत. त्यांना बरोबर सहा वेळा फाशी दिली जाईल.

आकृती 9

फ्लॅशमध्ये "पॅरामीटरसह" लूप तयार करण्यासाठी, तुम्हाला फ्रेम ॲक्शन विंडोमध्ये ऑपरेशन्स - फॉर कमांड निवडणे आवश्यक आहे. परिणामी, स्क्रीनच्या उजव्या बाजूला एक लूप डिझाइन दिसेल (आकृती 9).

आकृती 10

या डिझाइनसाठी, आपल्याला तीन फील्ड कॉन्फिगर करणे आवश्यक आहे. इनिशियल - येथे तुम्हाला काही व्हेरिएबलचे प्रारंभिक मूल्य लिहावे लागेल, त्याला काउंटर असेही म्हणतात. उदाहरणार्थ, i=1. व्हेरिएबल i किती काळ बदलेल ही अट आहे. उदाहरणार्थ, आय<=10. Следующий – с каким шагом изменяется переменная i. Если вы хотите, чтобы переменная каждый раз увеличивалась на единицу, то можно записать i++. В результате появляется конструкция:

साठी (i=1; i<=10; i++) {

त्याचा अर्थ खालीलप्रमाणे आहे: i व्हेरिएबल एक ते दहा पर्यंत मूल्ये घेईल आणि कर्ली ब्रेसेसमध्ये बंद केलेल्या कमांड्स दहा वेळा कार्यान्वित केल्या जातील. व्हेरिएबल i स्वतः लूपच्या मुख्य भागामध्ये वापरला जाऊ शकतो आणि इतर अल्गोरिदमिक रचना, कंडिशनल स्टेटमेंट्स इत्यादी देखील तेथे वापरल्या जाऊ शकतात.

पुढील समस्येमध्ये हे डिझाइन कसे लागू केले जाते ते पाहू या. “एक प्रोग्राम तयार करा जो n च्या पॉवरची गणना करतो (n हे पूर्णांक मूल्य आहे). a आणि n ची मूल्ये योग्य फील्डमध्ये प्रविष्ट केली आहेत. कार्यक्रमाचे स्वरूप आकृती 10 मध्ये दर्शविले आहे.

एक डायनॅमिक फील्ड तयार करा आणि त्याला कॉल करा.

जर (एन<>0) {

' n > 0 असेल तरच समस्या समजते, हे सशर्त विधानाद्वारे तपासले जाते

साठी (i=2; i<=n; i++) {

पहिल्या ओळीत व्हेरिएबल an ने आधीच a च्या बरोबरीचे मूल्य घेतले आहे, म्हणून काउंटरचे प्रारंभिक मूल्य दोन आहे.

"क्लीअर" बटणासाठी, खालील कोड जोडा:

टिप्पण्या मला अनावश्यक वाटतात.

जेव्हा पुनरावृत्तीची संख्या आगाऊ माहित नसते तेव्हा "वेळ" चक्र वापरले जाते. चला समानता चालू ठेवूया - जेव्हा लोक बटाटे खोदतात तेव्हा ते वारंवार क्रिया देखील करतात: "झुडूप खणणे," "बटाटे गोळा करा," "ते एका पिशवीत ठेवा." गोष्ट अशी आहे की या क्रिया किती वेळा करणे आवश्यक आहे हे कोणालाही माहिती नाही. म्हणून, हे चक्र खालीलप्रमाणे लिहिले जाऊ शकते:

(कोणते बटाटे आहेत का?) करताना (

प्रत्येक वेळी, निर्दिष्ट केलेल्या आदेशांची अंमलबजावणी केल्यानंतर, स्थिती समाधानी आहे की नाही हे तपासणे आवश्यक आहे, तर लूपचा मुख्य भाग पुन्हा कार्यान्वित केला जातो.

आकृती 11

फ्लॅशमध्ये “व्हाइल” लूप तयार करण्यासाठी, तुम्हाला फ्रेम ॲक्शन विंडोमध्ये ऑपरेशन्स – व्हेल कमांड निवडणे आवश्यक आहे. परिणामी, स्क्रीनच्या उजव्या बाजूला एक लूप डिझाइन दिसेल (आकृती 11).

या डिझाइनसाठी, फक्त एक फील्ड कॉन्फिगर करणे आवश्यक आहे. अट - कोणत्या स्थितीत लूप कार्यान्वित केला जातो. उदाहरणार्थ, y<10.

कृपया लक्षात घ्या की जर प्रथमच लूप कॉल केल्यावर अट पूर्ण झाली नाही, तर लूप कधीही कार्यान्वित होत नाही. तसेच, लूपच्या अंमलबजावणीदरम्यान व्हेरिएबल y बदलणे खूप महत्वाचे आहे, अन्यथा प्रोग्राम लूप होईल आणि फ्रीज होईल. फ्लॅशमध्ये प्रोग्राम कोड कार्यान्वित करण्याच्या वैशिष्ट्याकडे मी तुमचे लक्ष वेधू इच्छितो. तुम्ही काही ऑब्जेक्ट प्रॉपर्टी किंवा डायनॅमिक फील्ड व्हॅल्यू मधून सायकल चालवल्यास, तुम्ही ते चालवल्यावर तुम्हाला ती प्रॉपर्टी किंवा व्हॅल्यू पटकन बदलताना दिसणार नाही. फ्लॅश प्रथम संपूर्ण स्क्रिप्ट पूर्णपणे कार्यान्वित करेल आणि सायकल संपल्यानंतरच तो स्क्रीन पुन्हा काढेल आणि ही गुणधर्म किंवा मूल्य बदलेल. प्रोग्राम ॲनिमेशनचा अभ्यास करताना नवव्या धड्यात हे वैशिष्ट्य समजून घेणे आपल्यासाठी विशेषतः महत्वाचे असेल.

आकृती 12

"पॅरामीटरसह" लूप वापरून लिहिता येणारे कोणतेही अल्गोरिदम लूप वापरून देखील लिहिले जाऊ शकते. पण उलट सत्य नाही. अशा काही समस्या आहेत ज्यांचे निराकरण इतर पद्धतींनी केले जाऊ शकत नाही “असताना” बांधकाम. चला या समस्येचा विचार करूया. “हे ज्ञात आहे की 1, 1/2, 1/3 ... 1/n संख्यांची मालिका भिन्न आहे, याचा अर्थ अशा संख्यांची बेरीज कोणत्याही पूर्वनिर्धारित संख्येपेक्षा जास्त असू शकते. मालिका 1 + 1/2 + 1/3 + … + 1/n दिलेल्या संख्येपेक्षा मोठी होईल. प्रोग्रामचे स्वरूप आकृती 12 मध्ये दर्शविले आहे.

एक डेटा एंट्री फील्ड तयार करा आणि त्याला नाव द्या a.

दोन डायनॅमिक फील्ड तयार करा आणि त्यांना अनुक्रमे n आणि s नाव द्या.

“a=”, “n=”, इत्यादि स्थिर स्वाक्षरींची आवश्यक संख्या तयार करा.

"गणना करा" आणि "क्लीअर" अशी दोन बटणे तयार करा.

"गणना" बटणासाठी, खालील कोड जोडा:

लूपमध्ये असल्याने स्थिती तपासणे आवश्यक आहे

असताना(चे

“क्लीअर” बटणासाठी, कोड मागील कार्यातील कोड सारखाच आहे.

सैद्धांतिकदृष्ट्या कोणत्याही A साठी n हे मूल्य असले तरी प्रत्यक्षात A=10, n=12367 साठी देखील. A च्या मोठ्या मूल्यांसाठी, या समस्येची गणना करण्यासाठी काही मिनिटे किंवा तास लागू शकतात...

प्रश्नांचे पुनरावलोकन करा:

लूप "पॅरामीटरसह" आणि "व्हाइल" मध्ये काय फरक आहे?

कोणते चक्र अधिक सार्वत्रिक आहे?

"पॅरामीटरसह" लूपमधील "काउंटर" म्हणजे काय आणि i++ कमांडचा अर्थ काय आहे?

व्हेईल लूप वापरून एक्सपोनेन्शियशन करणारा प्रोग्राम कसा लिहायचा?

"व्हाइल" लूप कार्यान्वित करताना प्रोग्राम का फ्रीज होतो? हे कसे टाळायचे?

6. प्रकल्प "फ्लॅश कॅल्क्युलेटर"

कृती स्क्रिप्ट कृतीत पाहण्यासाठी, चला काहीतरी खरोखर फायदेशीर करूया. चला कॅल्क्युलेटर बनवू, त्याचे स्वरूप आकृती 13 मध्ये दर्शविले आहे.

आकृती 13

प्रकल्पाचे उद्दिष्ट: इंटरनेटसाठी मानक अंकगणित ऑपरेशन्स करण्याच्या क्षमतेसह एक मानक कॅल्क्युलेटर तयार करणे. मूल्ये प्रविष्ट करण्यासाठी, माऊस आणि मानक कीबोर्ड की दोन्ही वापरा.

प्रथम, डायनॅमिक आउटपुट फील्ड तयार करा आणि त्याला मजकूर सारखे नाव द्या. दुसरे म्हणजे, आमच्या कॅल्क्युलेटरसाठी आवश्यक बटणे तयार करा. तिसरे, विचार सुरू करूया.

तीन समस्या आमची वाट पाहत आहेत:

पहिली अडचण अशी आहे की जेव्हा तुम्ही पहिला क्रमांक टाइप करता, तेव्हा प्रत्येक अंक आधीच टाइप केलेल्या संख्येच्या शेवटी जोडला जातो आणि अंकगणित ऑपरेशनच्या प्रतिमेसह बटण दाबल्यानंतर, पुढील अंक ओळीच्या सुरुवातीला ठेवला जातो.

जेव्हा आपण पहिली संख्या प्रविष्ट करतो, उदाहरणार्थ 245, तेव्हा आपण 2, 4 आणि 5 ही बटणे क्रमाक्रमाने दाबतो, परंतु कॅल्क्युलेटरला हे कसे कळते की आपण बटण 2 दाबले की ते वीस किंवा दोन हजार नाही? दुसऱ्या शब्दांत, पहिल्या व्हेरिएबलमध्ये कोणती संख्या लक्षात ठेवायची हे तुम्हाला कसे कळेल?

तिसरी अडचण अशी आहे की तुम्हाला पहिल्या, दुसऱ्या क्रमांकासाठी आणि निकालासाठी किमान तीन व्हेरिएबल्स वापरण्याची गरज आहे, पण फक्त एक डायनॅमिक फील्ड आणि त्याचे व्हेरिएबल नाव आहे!

220" height="52" bgcolor="white" style="vertical-align:top;background: white"> https://pandia.ru/text/78/159/images/image013_35.gif" width="12 " height="36">

पहिल्या समस्येचे निराकरण करण्यासाठी, आम्हाला अतिरिक्त व्हेरिएबलची आवश्यकता आहे, चला त्याला stek म्हणू या. सध्याच्या क्रियेचा मागोवा घेणे हा त्याचा उद्देश आहे. जेव्हा पहिला क्रमांक प्रविष्ट केला जातो, तेव्हा त्याचे मूल्य, म्हणा, एक असावे. ज्या क्षणी पहिल्या क्रमांकाचा दुसरा अंक प्रविष्ट करणे सुरू होईल, त्या क्षणी व्हेरिएबलचे मूल्य आधीपासूनच दोन असावे. या क्षणी जेव्हा दुसरी संख्या प्रविष्ट करणे सुरू होते, व्हेरिएबलचे मूल्य आधीपासूनच तीन इतके असावे. निकालाची गणना करताना, स्टेक व्हेरिएबलने पुन्हा एक समान मूल्य घेणे आवश्यक आहे जेणेकरून परिणामी परिणाम त्यानंतरच्या क्रियांसाठी प्रथम क्रमांक बनू शकेल.

या सर्वांचा अर्थ असा आहे की आपण फक्त एका की फ्रेमने मिळवू शकत नाही. नवीन लेयरवर की फ्रेम तयार करणे आणि त्यातील स्टेक व्हेरिएबलचे मूल्य एक वर सेट करणे उचित आहे. दुसऱ्या की फ्रेममध्ये, फक्त एक कमांड जोडा बेसिक ॲक्शन्स – स्टॉप. कॅल्क्युलेटर लेयरची सामग्री, ज्यामध्ये सर्व बटणे आहेत, दुसऱ्या फ्रेममध्ये हलवा (आकृती 14). आता, प्रोग्राम सुरू झाल्यावर, स्टेक व्हेरिएबल इच्छित मूल्य घेते, व्हिडिओ दुसऱ्या फ्रेमवर जातो आणि थांबतो. पुढील सर्व क्रिया तेथेच होतील.

आकृती 14

दुसरी समस्या सोडवण्यासाठी, इनपुट मूल्य मजकूर असणे आवश्यक आहे! जेव्हा तुम्ही एखाद्या संख्येवर क्लिक करता, उदाहरणार्थ 1, संख्या असलेल्या मजकूर स्ट्रिंगमध्ये दुसरा वर्ण जोडला जाईल.

बरं, कंडिशनल ऑपरेटर आणि स्टेक व्हेरिएबल काम पूर्ण करण्यात मदत करतील. खाली

की 1 ला दिलेला कोड इतर सर्व बटणांसाठी समान आहे.

वर (रिलीज, की दाबा "1") (

नेहमीच्या ऑन (रिलीज) व्यतिरिक्त, कीबोर्ड वापरण्याची क्षमता जोडली गेली आहे. keyPress "1" चा अर्थ असा आहे की तुम्ही ऑन-स्क्रीन बटण दाबाल तेव्हाच नाही तर कीबोर्डवरील की दाबल्यावरही खालील कोड कार्यान्वित होईल. हे कसे साध्य करायचे यासाठी आकृती 15 पहा.

जर स्टेक व्हेरिएबल एकाच्या बरोबरीचे असेल, तर डायनॅमिक आउटपुट फील्डशी संबंधित मजकूर व्हेरिएबल एक समान मूल्य घेईल आणि स्टेक व्हेरिएबल दोनच्या बरोबरीचे होईल.

) अन्यथा जर (stek==2) (

जर स्टेक व्हेरिएबल दोन असेल, तर एक हा नंबरमधील पहिला अंक नाही, म्हणून तो उजवीकडील मजकूर व्हेरिएबलमध्ये जोडला जातो.

) अन्यथा जर (stek==3) (

जर व्हेरिएबल स्टेक तीनच्या बरोबर असेल, तर एक हा दुसऱ्या क्रमांकातील पहिला अंक आहे

आकृती 15

तिसरी समस्या अगदी सहज सोडवता येते. आपल्याला इंटरमीडिएट व्हेरिएबल्समध्ये एंटर केलेले संख्या संग्रहित करणे आवश्यक आहे. अंकगणित ऑपरेशन कीशी संबंधित प्रोग्राम कोडचे विश्लेषण करूया ते या समस्येचे निराकरण करतात:

वर (रिलीज, की दाबा "+") (

आणि समान कीशी संबंधित प्रोग्राम कोड.

चालू (रिलीज, कीप्रेस "=") (

मजकूर = parseFloat(a)+parseFloat(text);

) अन्यथा जर (o=="m") (

text = parseFloat(a)-parseFloat(text);

) अन्यथा जर (o=="u") (

text = parseFloat(a)*parseFloat(text);

) अन्यथा जर (o=="d") (

मजकूर = parseFloat(a)/parseFloat(text);

पहिल्या तुकड्यात सर्व काही स्पष्ट असले पाहिजे. प्लस की दाबल्यास, दुसरे व्हेरिएबल o p (plus) मूल्य घेते आणि व्हेरिएबल मजकूराचे मूल्य तात्पुरते व्हेरिएबल a मध्ये साठवले जाते. आणि जेव्हा समान की शेवटी दाबली जाते, तेव्हा संगणकाने व्हेरिएबल टेक्स्टमध्ये संग्रहित मूल्य आणि व्हेरिएबल a जोडणे आवश्यक आहे. मजकूर मूल्ये व्हेरिएबल्समध्ये संग्रहित असल्याने, parseFloat() फंक्शन वापरणे आवश्यक आहे, जे मजकूर अभिव्यक्तीला संख्येमध्ये रूपांतरित करते. त्याला कॉल करण्यासाठी, फंक्शन्स कमांड वापरा - parseFloat.

प्रकल्प लाँच करा, त्याची चाचणी घ्या. याचा अर्थ असा नाही की परिणामी कॅल्क्युलेटर परिपूर्ण आहे. यात मानक गणितीय कार्ये नाहीत; सलग अनेक क्रिया करण्यासाठी, आपल्याला नेहमी समान दाबावे लागेल. परंतु आपण सर्व सुधारणा स्वतः करू शकता. आम्ही मुख्य गोष्ट शिकलो. मॅक्रोमीडिया फ्लॅश वापरून साधी सॉफ्टवेअर उत्पादने तयार करा.

प्रश्नांचे पुनरावलोकन करा:

कॅल्क्युलेटर तयार करताना आम्हाला कोणत्या समस्या आल्या? स्टेक व्हेरिएबलचा उद्देश काय आहे? संख्या की दाबताना मजकूर अभिव्यक्ती व्हेरिएबलमध्ये का संग्रहित केली जावी? parseFloat() फंक्शनचा उद्देश काय आहे? मधल्या “इक्वल” की दाबल्याशिवाय “एका ओळीत” अनेक अंकगणितीय क्रिया कशा करायच्या याची कल्पना सुचवा?

7. ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग.

जर तुम्ही पास्कल किंवा बेसिक सारख्या भाषांमधील प्रोग्रामिंगशी परिचित असाल, तर तुमच्या लक्षात आले असेल की फ्लॅशमधील प्रोग्रामिंग खूप वेगळे आहे. गोष्ट अशी आहे की ॲक्शन स्क्रिप्ट प्रक्रियात्मक प्रोग्रामिंग भाषांच्या जवळ नाही, तर व्हिज्युअल बेसिक किंवा डेल्फी सारख्या ऑब्जेक्ट-ओरिएंटेड भाषेच्या जवळ आहे.

मी या भाषांच्या तुलनेबद्दल तपशीलवार विचार करणार नाही, विशेषत: ऍक्शन स्क्रिप्ट ही स्वतंत्र भाषा नसल्यामुळे, आपल्याला मूलभूत संकल्पना माहित असणे आवश्यक आहे. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) सारख्या मूलभूत संकल्पनेचे काहीसे ढिले सादरीकरण केल्याबद्दल कृपया मला त्वरित माफ करा, जे एन्कॅप्सुलेशन आणि पॉलिमॉर्फिझम सारख्या कठीण संकल्पनांवर आधारित आहे.

OOP हे ऍप्लिकेशन ऑब्जेक्ट मॉडेलवर आधारित आहे, जिथे सर्व ऑब्जेक्ट्स एका विशिष्ट वर्गाचे घटक आहेत (आकृती 16). तर, फ्लॅश ऍप्लिकेशन चित्रपटावर आधारित आहे; त्यात एक किंवा अनेक दृश्ये असतात. स्टेजमध्ये ग्राफिकल आणि लायब्ररी ऑब्जेक्ट्स आहेत. सीनमध्ये फ्रेम्स कुठे आहेत याची टाइमलाइन देखील आहे. कीफ्रेम्स, क्लिप चिन्हे आणि बटण चिन्हांचा स्वतःचा क्रिया स्क्रिप्ट कोड असू शकतो.

खऱ्या ऑब्जेक्ट-ओरिएंटेड भाषांमध्ये, ऑब्जेक्ट मॉडेलचा प्रत्येक घटक प्रोग्रामॅटिक पद्धतीने ऍक्सेस केला जाऊ शकतो. मॅक्रोमीडिया फ्लॅशमध्ये, तुम्ही ॲक्शन स्क्रिप्ट वापरून यापैकी काही घटकांना प्रोग्रामेटिक पद्धतीने प्रवेश करू शकता.

सर्वसाधारणपणे, फ्लॅशमध्ये ऑब्जेक्ट व्हेरिएबल्स तयार करण्याची क्षमता आहे, परंतु हे आमच्या निवडक अभ्यासक्रमाच्या पलीकडे आहे.

https://pandia.ru/text/78/159/images/image020_25.gif" width="612" height="420 src=">

आकृती 16

फ्लोटिंग “व्हिडिओ एक्सप्लोरर” पॅनेल वापरून तुम्ही तुमच्या विशिष्ट व्हिडिओचे ऑब्जेक्ट मॉडेल नेहमी पाहू शकता.

आकृती 17 (मागील प्रकल्पासाठी ऑब्जेक्ट मॉडेलचा एक तुकडा दर्शविते
फ्लॅश कॅल्क्युलेटर)

उत्परिवर्तनीय वस्तूंमध्ये गुणधर्म असतात, म्हणजेच त्या बदलल्या जाऊ शकतात. उदाहरणार्थ, व्हिडिओ क्लिपमध्ये X समन्वय गुणधर्म आहेत; (आणि त्याद्वारे सॉफ्टवेअर ॲनिमेशन तयार करा). पुढील प्रकरणामध्ये याबद्दल अधिक.

प्रत्येक कॉल टू प्रोग्राम कोड काही इव्हेंटसह असतो, अशी घटना ऑन-स्क्रीन बटण दाबणे किंवा कीबोर्ड की दाबणे असू शकते.

प्रश्नांचे पुनरावलोकन करा:

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग भाषांना नाव द्या. फ्लॅश ऑब्जेक्ट मॉडेल कोणते घटक बनवतात? तुम्ही प्रोग्रामेटिकली कोणते घटक बदलू शकता? ऑब्जेक्ट, प्रॉपर्टी, पद्धत, घटना या शब्दांचा अर्थ स्पष्ट करा. फ्लॅश चित्रपट कोणत्या इव्हेंटला प्रतिसाद देतो?

8. गुणधर्मांचे प्रोग्रामेटिक बदल.

व्हिडिओ क्लिप प्रकार लायब्ररी चिन्हांमध्ये संपादन करण्यायोग्य गुणधर्म असू शकतात. याचा अर्थ असा की तुम्ही दिलेल्या ऑब्जेक्टचा आकार, स्थिती किंवा दृश्यमानता प्रोग्रामॅटिकरित्या बदलू शकता. याची अंमलबजावणी कशी होते?

आकृती 17

एखादी वस्तू काढा, जसे की आयता.

लायब्ररीमध्ये ठेवा, आणि ती एक व्हिडिओ क्लिप असणे आवश्यक आहे;

फ्लोटिंग “कॉपी” पॅनेलमध्ये, आपण या ऑब्जेक्टचे नाव निर्दिष्ट करणे आवश्यक आहे, उदाहरणार्थ, zzz (आकृती 17).

"फ्रेम ॲक्शन" पॅनेलमध्ये, ऑपरेशन्स - सेट प्रॉपर्टी कमांड निवडा. या कमांडमध्ये तीन कस्टम फील्ड आहेत. प्रॉपर्टी ही ऑब्जेक्टची प्रॉपर्टी आहे जी आपण बदलू इच्छितो, उदाहरणार्थ, _x (x पोझिशन), X टार्गेटच्या बाजूने ऑब्जेक्टची स्थिती, या प्रकरणात zzz. मूल्य - या फील्डमध्ये विशिष्ट संख्या किंवा अभिव्यक्ती असू शकते, परंतु "अभिव्यक्ती" स्विच (आकृती 18) तपासण्यास विसरू नका.

इतकेच, जर तुम्ही प्रकल्प चालवला तर तुम्हाला दिसेल की तुमचा आयत हलला आहे आणि आता त्याच्या केंद्राचा समन्वय शंभरच्या बरोबरीचा असेल.

आकृती 18

बदलण्यायोग्य गुणधर्मांचा संपूर्ण संच "फ्रेम गुणधर्म" विंडोमध्ये स्थित आहे, विभाग गुणधर्म आणि त्यांचे अर्थ साहित्यात आढळू शकतात. चला मुख्य गुणधर्म पाहू या, त्यापैकी बरेच आम्हाला नंतर प्रकल्पात आवश्यक असतील:

अल्फा - ऑब्जेक्ट पारदर्शकता, शून्य ते पूर्ण पारदर्शकता, 100 पूर्ण दृश्यमानतेपर्यंत बदलते;

दृश्यमान हा एक समान गुणधर्म आहे ज्याचा अर्थ दृश्यमानता आहे. गुणधर्माची फक्त दोन मूल्ये आहेत - शून्य (वस्तू अदृश्य आहे) आणि एक (वस्तू पूर्णपणे दृश्यमान आहे);

आकृती 19

उंची - ऑब्जेक्टची उंची, पिक्सेलमध्ये मोजली जाते;

रुंदी - ऑब्जेक्टची रुंदी, पिक्सेलमध्ये मोजली जाते;

रोटेशन - एखाद्या वस्तूचे त्याच्या केंद्राशी संबंधित रोटेशन, अंशांमध्ये मोजले जाते;

एक्स - एक्स समन्वय;

आकृती 20

Y – y समन्वय, वरच्या डाव्या कोपऱ्यातील समन्वय (0,0) च्या बरोबरीचे मूल्य घेते;

एक्सस्केल - एक्स अक्षासह स्केल बदला;

Yscale - y अक्षासह स्केल बदला;

तुम्ही लक्षात घेतल्याप्रमाणे, सर्व गुणधर्म अंडरस्कोरने सुरू होतात.

आपल्याला एखाद्या ऑब्जेक्टचे गुणधर्म केवळ प्रोग्रॅमॅटिकरित्या बदलण्याची गरज नसून, त्यांच्या वर्तमान मूल्याचा मागोवा घेण्याची आवश्यकता असल्याने, आम्हाला GetProperty फंक्शनची आवश्यकता आहे. कमांडला “फ्रेम ऍक्शन्स” विंडो फंक्शन्स – GetProperty() (आकृती 19) मध्ये कॉल केले जाते. फंक्शनमध्ये दोन पॅरामीटर्स आहेत. लक्ष्य - लक्ष्य, लक्ष्य या शब्दाऐवजी ऑब्जेक्ट चिन्हाच्या प्रतीचे नाव लिहिले आहे. प्रॉपर्टी - प्रॉपर्टी या शब्दाऐवजी बदलण्यायोग्य गुणधर्म, उदाहरणार्थ, तुम्ही वर्तमान x समन्वय मिळवून _x लिहू शकता. हे फंक्शन, एक नियम म्हणून, व्हेरिएबल सेट करण्याच्या कमांडसह किंवा दुसऱ्या कमांडमध्ये वापरले जाते (आकृती 20).

x = getProperty(zzz, _x);

या आदेशाचा अर्थ असा आहे की zzz नावाच्या ऑब्जेक्टचा वर्तमान समन्वय x व्हेरिएबलमध्ये संग्रहित केला जाईल.

प्रोजेक्टमध्ये बदलणारे गुणधर्म कसे वापरता येतील ते पाहू. एक ऑब्जेक्ट तयार करा ज्याचे गुणधर्म बदलले जाऊ शकतात. उदाहरण स्क्रीन आकृती 21 मध्ये दर्शविली आहे.

आकृती 21

एखादी वस्तू तयार करा आणि ती व्हिडिओ क्लिप चिन्हात बदला.

या चिन्हाच्या प्रतला फ्लोटिंग कॉपी पॅनेलमध्ये नाव द्या, जसे की "Ob".

बटणांचा संच तयार करा. तत्त्वानुसार, बटणांचा संच अनियंत्रित असू शकतो; प्रोजेक्ट बटणे वापरतो जे ऑब्जेक्टचे निर्देशांक बदलतात, तसेच ऑब्जेक्टची स्केल आणि पारदर्शकता बदलतात.

ऑब्जेक्टला वर हलवणाऱ्या बटणावर खालील कोड जोडा:

चालू (रिलीज, की दाबा " ") {

setProperty("Ob", _y,

getProperty(Ob, _y) - 5);

ही आज्ञा "Ob" ऑब्जेक्टची गुणधर्म बदलते, त्याचे y समन्वय. एखादी वस्तू वरच्या दिशेने जाण्यासाठी, त्याचा वर्तमान समन्वय मोजला जातो आणि त्यातून 5 वजा केला जातो.

इतर बटणांमध्ये समान कोड असतो, फक्त तुम्ही बदलणार असलेल्या मालमत्तेत फरक असतो. आणखी एक उदाहरण घेऊ:

setProperty("Ob", _xscale, getProperty(Ob, _xscale) + 5);

setProperty("Ob", _yscale, getProperty(Ob, _yscale) + 5);

हा कोड ऑब्जेक्टचा स्केल वाढवतो. प्रमाणानुसार वाढवण्यासाठी, तुम्हाला x आणि y दोन्ही अक्षांमध्ये आकार वाढवावा लागेल. म्हणून, या स्क्रिप्टमध्ये दोन आज्ञा आहेत.

प्रश्नांचे पुनरावलोकन करा:

कोणत्या लायब्ररी चिन्हांवर प्रोग्रामॅटिक पद्धतीने प्रवेश केला जाऊ शकतो? हे कसे आयोजित करावे? तुम्ही वस्तूंच्या कोणत्या गुणधर्मांचा अभ्यास केला आहे? त्यांचा अर्थ काय? setProperty आणि getProperty कमांडमध्ये काय फरक आहे? ओळीचा अर्थ स्पष्ट करा: setProperty("Ob", _xscale, getProperty(Ob, _xscale) + 5); तुम्ही कल्पना करू शकता की तुम्ही इतर वस्तूंचे गुणधर्म कसे बदलू शकता, जसे की बटणे?

9. तीन-फ्रेम सायकल. सॉफ्टवेअर ॲनिमेशन.

प्रोग्रॅमॅटिकली बदलणारे ऑब्जेक्ट गुणधर्म तुम्हाला प्रोग्रामॅटिक ॲनिमेशन तयार करण्यास अनुमती देतात. मॅक्रोमीडिया फ्लॅशमध्ये तयार केल्या जाणाऱ्या मानक ॲनिमेशनच्या विपरीत, व्हिडिओ जसजसा पुढे जाईल तसतसे सॉफ्टवेअर ॲनिमेशन नियंत्रित केले जाऊ शकते.

असे दिसते की ऑब्जेक्टचे गुणधर्म चक्रीयपणे बदलणे पुरेसे आहे, उदाहरणार्थ x समन्वय, आणि ऑब्जेक्ट हलण्यास सुरवात करेल, परंतु तसे नाही. वस्तुस्थिती अशी आहे की फ्लॅशमध्ये, प्रोग्राम कोड प्रथम अंमलात आणला जातो आणि त्यानंतरच बदल होतो, स्क्रीन पुन्हा काढली जाते. म्हणून, ऑब्जेक्ट त्वरित प्रारंभ बिंदूपासून अंतिम बिंदूवर हस्तांतरित केले जाईल आणि गुळगुळीत हालचाल कार्य करणार नाही. या विरोधाभासावर मात करणे तीन-फ्रेम सायकल वापरण्यात आहे.

त्यांची कल्पना अशी आहे:

पहिल्या की फ्रेममध्ये, प्रारंभिक स्थिरांक आणि ऑब्जेक्टची प्रारंभिक स्थिती सेट केली जाते.

दुसऱ्या की फ्रेममध्ये, ऑब्जेक्टची मालमत्ता काही विशिष्ट रकमेने बदलते.

तिसऱ्या की फ्रेममध्ये दुसऱ्या फ्रेमवर जाण्यासाठी फक्त एक कमांड आहे.

चक्र स्पष्टपणे निर्दिष्ट केलेले नसले तरीही गुणधर्म चक्रीयपणे बदलतील. प्रोग्रॅमॅटिकरित्या दुसऱ्या फ्रेममधील गुणधर्म बदलून, संगणक ऑब्जेक्टची स्थिती बदलेल आणि तिसरी फ्रेम ही प्रक्रिया लूप करेल.

सराव मध्ये तीन-फ्रेम सायकल कशी लागू केली जाते ते पाहू या. चला एक व्हिडिओ तयार करूया ज्यामध्ये कार शीटच्या काठावरुन काठावर फिरते, उलट दिशेने फिरते आणि अनिश्चित काळासाठी पुढे जात राहते. वापरकर्त्याकडे त्याच्या हालचालीचा वेग बदलण्याची, कमी करण्याची किंवा वाढवण्याची क्षमता आहे. व्हिडिओचे स्वरूप, अर्थातच हालचालीशिवाय, आकृती 22 मध्ये दर्शविले आहे. खाली या प्रकल्पाच्या अंमलबजावणीसाठी प्रोग्राम कोडचे विश्लेषण केले जाईल.

आकृती 22

पहिल्या लेयरवर कार ड्रॉइंग तयार करा किंवा रेडीमेड ड्रॉइंग इंपोर्ट करा. "कार" लेयरचे नाव बदला आणि तिसऱ्या फ्रेममध्ये F5 की दाबून की फ्रेम तिसऱ्या फ्रेमवर वाढवा.

रेखाचित्राला चिन्हात रूपांतरित करा, जसे की व्हिडिओ क्लिप. या चिन्हाच्या प्रतिला फ्लोटिंग कॉपी पॅनेलमध्ये नाव द्या, जसे की "कार".

एक नवीन स्तर तयार करा, त्याचे नाव बदला “बटन्स” आणि त्यावर “जलद” आणि “स्लोअर” अशी दोन बटणे तयार करा.

नवीन क्रिया स्तरावर, तीन रिक्त कीफ्रेम तयार करा आणि तीन वेळा F7 दाबा.

पहिल्या की फ्रेममध्ये, खालील कोड जोडा:

setProperty("कार", _x, 50);

कृपया लक्षात घ्या की हा कोड कुरळे ब्रेसेसमध्ये बंद केलेला नाही आणि सुरवातीला ऑन (रिलीझ) नाही, म्हणजेच हा कोड विशेषत: फ्रेमला संदर्भित करतो, बटण नाही. या तुकड्यात, कार नावाच्या ऑब्जेक्टच्या पहिल्या ओळीत, गुणधर्म _x (x अक्षाच्या बाजूने समन्वय) 50 वर सेट केला आहे. पुढे, तीन व्हेरिएबल्स सादर केल्या आहेत, त्यांचा अर्थ येथे आहे: dx - च्या एका हालचालीचे मूल्य ऑब्जेक्ट, तसेच हालचालीची दिशा (खाली पहा), MinX आणि MaxX हे अनुक्रमे किमान आणि जास्तीत जास्त संभाव्य ऑब्जेक्ट समन्वय आहे. सर्वसाधारणपणे, तुम्ही या व्हेरिएबल्सशिवाय करू शकता, परंतु त्यांचा वापर केल्याने तुमचा प्रोजेक्ट डीबग करणे खूप सोपे होते. मला वाटते की पुढील कोडचे विश्लेषण करताना सखोल समज निर्माण होईल.

दुसऱ्या की फ्रेममध्ये, खालील कोड जोडा:

x = गेट प्रॉपर्टी (कार, _x);

व्हेरिएबल x ऑब्जेक्टची वर्तमान स्थिती संग्रहित करते.

जर(x<=MaxX) {

setProperty("कार", _xscale, -100);

दोन नेस्टेड सशर्त विधानांचे बांधकाम. पहिला dx>0 तपासतो. तसे असल्यास, कार उजवीकडे जात आहे. दुसरी अट x<=MaxX проверяет не достиг ли автомобиль максимально возможной координаты. Если это так то изменяется координата x объекта «car». Если второе условие не выполняется, то максимальная координата достигнута, как результат масштаб по координате х изменяется на -100% (автомобиль переворачивается) и единичного перемещение объект изменяется на противоположное.

जर (x>=MinX) (

सेट प्रॉपर्टी("कार", _x, x+dx);

setProperty("कार", _xscale, 100);

' पुन्हा दोन नेस्टेड सशर्त विधानांचे बांधकाम. त्यांचा उद्देश मागील प्रमाणेच आहे.

तिसऱ्या की फ्रेममध्ये, खालील कोड जोडा:

gotoAndPlay(2);

तुम्ही आता प्रोजेक्ट चालवल्यास, तुम्हाला दिसेल की ऑब्जेक्ट डावीकडे आणि उजवीकडे सरकत आहे. चला वेग वाढवणारे आणि कमी करणारे काही सोपे कोड टाकू.

वेग बदलण्यासाठी, आपल्याला ऑब्जेक्टच्या युनिट हालचालीचे प्रमाण वाढविणे आवश्यक आहे. “वेगवान” बटणाशी संबंधित कोड खाली दिलेला आहे:

चालू (रिलीज, की दाबा " ") {

जर युनिटची हालचाल सकारात्मक असेल, तर बटण दाबल्याने ही हालचाल एकाने वाढते. कृपया लक्षात घ्या की तुम्ही कीबोर्डवरील "उजवे" बटण दाबल्यास तीच क्रिया होईल.

“स्लोअर” बटणाशी संबंधित कोड खाली दिलेला आहे:

चालू (रिलीज, की दाबा " ") {

उद्देश मागील तुकड्यासारखाच आहे. इतकंच. प्रकल्प लाँच करा, त्याची चाचणी घ्या. आम्ही शेवटच्या प्रकल्पात मिळवलेले ज्ञान लागू करू, जे मागील दोन एकत्र करून एक गेम तयार करेल.

प्रश्नांचे पुनरावलोकन करा:

नियमित "व्हाइल" लूप वापरून सॉफ्टवेअर ॲनिमेशन का लागू केले जाऊ शकत नाही? तीन-फ्रेम सायकलमध्ये प्रत्येक फ्रेमचा उद्देश स्पष्ट करा. वर्णन केलेल्या प्रकल्पातील dx व्हेरिएबलचा अर्थ स्पष्ट करा. प्रोग्राम कोडमध्ये लाइन सेटप्रॉपर्टी ("कार", _xस्केल, 100) का आहे? तयार केलेल्या प्रोजेक्टमध्ये "स्टॉप" बटण जोडा.

10. प्रोजेक्ट “इंटरएक्टिव्ह गेम - शूटिंग रेंज”.

प्रकल्पाचे ध्येय: एक परस्पर शूटिंग गॅलरी गेम तयार करा. खेळण्याच्या मैदानावर एक ससा (लक्ष्य) बदलला जाईल, ज्याला हलणारे लक्ष्य वापरून मारले पाहिजे. हिट कमीत कमी पायऱ्यांमध्ये (गणना केलेले) करणे आवश्यक आहे. अंदाजे स्क्रीन दृश्य आकृती 23 मध्ये दर्शविले आहे.

या प्रकल्पाची अंमलबजावणी करण्यासाठी, आपल्याला एक लक्ष्य ऑब्जेक्ट तयार करणे आवश्यक आहे (या प्रकरणात, ससाचे आयात केलेले रेखाचित्र). मागील प्रकल्पातील कारप्रमाणेच ते हलले पाहिजे. तुम्हाला एक लक्ष्य ऑब्जेक्ट आणि बटणांचा संच देखील तयार करणे आवश्यक आहे जे या ऑब्जेक्टला डावीकडे-उजवीकडे आणि वर-खाली हलवतात. आपल्याला सहा डायनॅमिक आउटपुट फील्ड देखील तयार करण्याची आवश्यकता आहे. लक्ष्याचे निर्देशांक प्रदर्शित करण्यासाठी दोन, लक्ष्याचे निर्देशांक प्रदर्शित करण्यासाठी दोन, परिणाम प्रदर्शित करण्यासाठी एक आणि प्रयत्नांची संख्या मोजण्यासाठी एक.

तत्वतः, हे समान तीन-फ्रेम चक्र आहे. पहिल्या फ्रेममध्ये आम्ही प्रारंभिक पॅरामीटर्स सेट करतो:

z_x = यादृच्छिक(450)+50;

z_y = यादृच्छिक(230) + 50;

pr_x = getProperty(pr, _x);

pr_y = getProperty(pr, _y);

सेट प्रॉपर्टी("z", _x, z_x);

सेट प्रॉपर्टी("z", _y, z_y);

setProperty("buh", _visible, 0);

d - अचूकता दाबा (या व्हेरिएबलवर नंतर अधिक); h ही “ससा” च्या हालचालीची एक पायरी आहे; rez - पुनरावृत्तीची संख्या, सुरुवातीला हे व्हेरिएबल शून्याच्या बरोबरीचे असते; z-x आणि z-y हे “हरे” चे प्रारंभिक निर्देशांक आहेत, ते मानक रँडम फंक्शन वापरून सेट केले जातात, त्याला ऑब्जेक्ट्स – गणित – फ्रेम ऍक्शन विंडोमध्ये रँडम कमांड वापरून म्हणतात; नंतर लक्ष्याचे गुणधर्म (ऑब्जेक्ट “z”) प्राप्त केलेल्या यादृच्छिक निर्देशांकांवर सेट केले जातात; आणि शेवटी, शेवटच्या ओळीत, "शॉट" ची दृश्यमानता शून्यावर सेट केली आहे, म्हणजेच, काही काळासाठी, "बुह" ही वस्तू अदृश्य आहे.

आकृती 23

आणि खाली दुसऱ्या की फ्रेमशी संबंधित कोड आहे:

z_x = getProperty(z, _x);

जर (z_x>=max_x) (

setProperty("z", _xscale, -50);

जर (z_x<=min_x) {

setProperty("z", _xscale, 50);

सेट प्रॉपर्टी("z", _x, z_x+h);

सर्व काही मागील कार्यातील दुसऱ्या फ्रेमच्या समान कोडची पुनरावृत्ती करते.

तिसऱ्या फ्रेममध्ये फक्त एक कमांड आहे:

gotoAndPlay(2);

हे तुम्हाला लक्ष्याची हालचाल "लूप" करण्यास अनुमती देते.

लक्ष्य डावीकडे आणि उजवीकडे, वर आणि खाली हलवणाऱ्या बटणांसाठी कोड जोडा. उदाहरण म्हणून, लक्ष्य उजवीकडे हलवण्याचा कोड येथे आहे:

चालू (रिलीज, की दाबा " ") {

pr_x = getProperty(pr, _x);

setProperty("pr", _x, pr_x + 10);

pr_x = getProperty(pr, _x);

या तुकड्यात pr_x = getProperty (pr, _x) कमांड दोनदा पुनरावृत्ती होते, ही त्रुटी नाही. हे फक्त इतकेच आहे की हलवण्यापूर्वी लक्ष्याची स्थिती निश्चित करण्यासाठी प्रथमच या कमांडची आवश्यकता आहे आणि दुसऱ्यांदा गोळीबार करताना लक्ष्याच्या समन्वयाशी तुलना करण्यासाठी आम्हाला लक्ष्याचा नवीन समन्वय आवश्यक आहे.

फायर बटणासाठी कोड जोडणे बाकी आहे. ते खाली सादर केले आहे:

चालू (रिलीज, की दाबा " ") {

शॉटची प्रभावीता कितीही असली तरी, रेझ व्हेरिएबल एकाने वाढते.

setProperty("buh", _x, pr_x);

setProperty("buh", _y, pr_y);

setProperty("buh", _visible, 1);

"शॉट" चे अनुकरण करणारे चिन्ह सध्या लक्ष्य असलेल्या निर्देशांकांकडे जाते आणि त्याची दृश्यमानता एक समान होते.

tellTarget("buh") (

gotoAndPlay(2);

प्रकल्पामध्ये, "शॉट" ही एक क्लिप आहे ज्यामध्ये लाल वर्तुळ दिसते. हे सर्व वेळ टाळण्यासाठी, stop() कमांड क्लिपच्या पहिल्या आणि शेवटच्या फ्रेममध्ये वापरली जाते. TellTarget कमांड कॉम्प्युटरला सांगते की कुरळे बाणांमधील खालील कमांड फक्त "buh" ऑब्जेक्टला लागू होतात आणि त्यामध्ये अंमलात आणल्या जातात. दुसऱ्या फ्रेमवर गेल्यावर, “buh” क्लिपमधील ॲनिमेशन सुरू होते.

जर (गणित. abs (pr_x - z_x)

text = "नक्की लक्ष्यावर!";

' कोणत्या बाबतीत आपण असे गृहीत धरले पाहिजे की आपण लक्ष्यावर आदळलो - जर लक्ष्य आणि लक्ष्याच्या निर्देशांकांमधील फरक हिट अचूकतेपेक्षा कमी असेल (पहिल्या फ्रेममधील व्हेरिएबल डी). संपूर्ण मुद्दा असा आहे की दोन्ही अटी एकाच वेळी x आणि y समन्वयांसाठी समाधानी आहेत, म्हणून तार्किक संयोजी AND वापरला जातो (धडा 4 पहा). आणि शेवटी, आपण समन्वय फरकाच्या मॉड्यूलसची तुलना केली पाहिजे या उद्देशासाठी गणिताचे मानक कार्य वापरले जाते. abs(). सर्व अटी पूर्ण झाल्यास, डायनॅमिक फील्ड "मजकूर" हे मूल्य घेते "अगदी लक्ष्यावर!" आणि व्हिडिओ थांबतो.

text = "भूतकाळ!";

इतकंच. प्रकल्प चालू आहे, लक्ष्य आपल्यापासून दूर पळत आहे आणि मजकूर फील्ड त्याच्या स्थितीचा मागोवा घेत आहेत. लक्ष्य संपूर्ण फील्डमध्ये फिरते आणि परिणाम स्क्रीनवर प्रदर्शित केले जातात. आपण आपले अभिनंदन करू शकता, आम्ही सर्व मार्गाने आलो आहोत.

प्रश्नांचे पुनरावलोकन करा:

या प्रकल्पात कोणते तंत्रज्ञान वापरले गेले? tellTarget("buh") कमांडचा उद्देश काय आहे? ससा च्या हालचाली फील्ड 100 पिक्सेल कमी करण्यासाठी प्रोग्राममध्ये काय बदलण्याची आवश्यकता आहे? लक्ष्य समन्वय आणि लक्ष्य समन्वय यांची तुलना करताना, आपण समन्वय डेटाच्या मॉड्यूलसची गणना का करावी? फ्लॅशमध्ये हे कसे लागू केले जाते? गेम क्लिष्ट करणारे पर्याय ऑफर करा, त्यांची अंमलबजावणी करण्याचे मार्ग सुचवा.

आम्ही फक्त फ्लॅशमधील प्रोग्रामिंगला स्पर्श केला आहे. ॲरेसह काम करणे यासारखे मुद्दे अस्पर्श राहिले; आम्ही ध्वनी किंवा स्क्रोल करण्यायोग्य मजकूर फील्डसह कार्य केले नाही; फ्लॅशमध्ये अजूनही अनेक रहस्ये आहेत आणि त्यांचा शोध घेणे ही एक वेगळी बाब आहे. कदाचित लेखकाला या मनोरंजक पैलूंचे वर्णन करण्यासाठी वेळ मिळेल.

जर तुम्हाला या पहिल्या धड्यांमध्ये स्वारस्य असेल, जर तुम्हाला फ्लॅशमधील प्रोग्रामिंगमध्ये स्वारस्य असेल, तर या काही रात्री ज्या मी अद्भुत मॅक्रोमीडिया फ्लॅश प्रोग्रामच्या पहिल्या चरणांचे वर्णन केले आहे ते व्यर्थ ठरले नाही. तुम्ही माझ्याशी ई-मेलद्वारे संपर्क साधू शकता, तुमच्या इच्छा आणि टिप्पण्या व्यक्त करू शकता, प्रश्न विचारू शकता, परंतु कोणत्याही परिस्थितीत, हा मजकूर वाचल्याबद्दल धन्यवाद.

मिळविण्यासाठी. exe फाईल, तुम्हाला मॅक्रोमीडिया फ्लॅश प्रोग्राममध्ये फ्लॅश मूव्ही तयार करणे आवश्यक आहे, ते प्रकाशित करा (मेनू फाइल - प्रकाशन). परिणामी, तुमच्याकडे विस्तारासह फाइल आहे. swf, तुम्ही फ्लॅश प्लेयर प्रोग्राम वापरून ते पाहू शकता (मॅक्रोमीडिया फ्लॅश स्थापित करताना स्वयंचलितपणे स्थापित होते. दिसणारी फाइल उघडा, मेनू निवडा फाइल - प्रोजेक्टर तयार करणे,तुमचे नाव सेट करा. exe फाइल.

तुम्हाला आयत दिसत असूनही, चित्राप्रमाणे, ही एक सीमा आहे, ती टाईप करताना राहील, परंतु व्हिडिओमध्येच ती दिसणार नाही.

बहुधा, जेव्हा तुम्ही रशियन अक्षरांमध्ये मजकूर टाइप करण्याचा प्रयत्न करता तेव्हा तुमच्या स्क्रीनवर “अब्राकाडाब्रा” दिसेल. हे या वस्तुस्थितीमुळे आहे की फ्लॅश प्रोग्राममधील डीफॉल्ट फॉन्ट टाइम्स न्यू रोमन आहे, ज्यामध्ये सिरिलिक वर्णांचे वर्णन नाही. म्हणून, टाइप करण्यापूर्वी, सिरिलिकला समर्थन देणारा फॉन्ट स्थापित करा, उदाहरणार्थ, Times New Roman Cyr किंवा Arial Cyr.

जर तुम्ही या मॅन्युअलची इलेक्ट्रॉनिक आवृत्ती वाचत असाल, तर तुम्ही हा तुकडा कॉपी करू शकता आणि नंतर क्लिपबोर्डद्वारे फ्रेम ॲक्शन विंडोमध्ये पेस्ट करू शकता.

मॅक्रोमीडिया फ्लॅशच्या चौथ्या आवृत्तीमध्ये, 20,000 पुनरावृत्तीची मर्यादा लादण्यात आली होती, जेव्हा मोठ्या संख्येने सायकल चालविण्याचा प्रयत्न केला जात होता, तेव्हा संगणकाने फ्रीझिंग टाळण्यासाठी कोड कार्यान्वित करणे थांबवले होते; पाचव्या आवृत्तीपासून, निर्बंध काढून टाकले गेले आहे; संगणक फक्त एक संदेश प्रदर्शित करतो की प्रोग्राम मंद होत आहे आणि आपल्याला स्वतः प्रोग्राम समाप्त करण्याची संधी देते.

नवीन कीफ्रेम जोडण्यासाठी, ॲक्शन लेयरमधील फ्रेम #2 वर क्लिक करा आणि F7 दाबा. फ्लॅश एक नवीन रिक्त कीफ्रेम तयार करेल.

चित्र आयात करण्यासाठी, फाइल - इतर स्वरूपांमधून आयात करा कमांड निवडा. तुम्ही निर्दिष्ट केलेल्या फोल्डरमध्ये समान नावाच्या फाइल्स असल्यास सावधगिरी बाळगा, उदाहरणार्थ. कार1? car2, इ. नंतर संगणक ते सर्व एकाच वेळी आयात करण्याची ऑफर देईल. तुम्ही वेक्टर ड्रॉइंग इंपोर्ट केल्यास, ते कॅनव्हासवर गटबद्ध वस्तूंचा संग्रह म्हणून संपेल. ते एका संपूर्ण मध्ये गटबद्ध करण्यास विसरू नका. तुम्ही बिटमॅप इंपोर्ट केल्यास, तो आपोआप लायब्ररीमध्ये ठेवला जातो आणि आम्ही त्याची प्रत स्टेजवर पाहतो.



आम्ही वाचण्याची शिफारस करतो

वर