IOS के लिए गेम प्रोग्राम करना सीखें: Xcode (II) को जानें

प्रोग्राम करना सीखें

अंतिम किस्त के बाद, शीर्षक से आईओएस के लिए गेम प्रोग्राम करना सीखें: एक्सकोड जानना, और इससे पहले कि हम Cocos2d में गोता लगाएँ, आइए Xcode में थोड़ा और गहरा गोता लगाएँ। इस अवसर पर, हम एक सरल "हैलो दुनिया" के लिए खुद को सीमित करने के बजाय, बनाए गए तत्वों के साथ बातचीत करेंगे।

इसके साथ, आप Xcode को संभालने में कौशल प्राप्त करेंगे, और आप अपने पहले "उपयोगी" अनुप्रयोगों को जल्दी से बनाने में सक्षम होंगे; बटन और पाठ लेबल के मूल उपयोग को सीखकर। जैसा कि यह वर्ग पिछले एक की तुलना में कुछ अधिक जटिल है, आपके पास पोस्ट के अंत में डाउनलोड के लिए व्यावहारिक उदाहरण उपलब्ध होगा, ताकि आप इसे चला सकें और जांच सकें कि यह सही ढंग से काम करता है!

सबसे पहले, हम Xcode खोलते हैं और पिछली कक्षा की तरह "सिंगल व्यू एप्लिकेशन" टेम्पलेट चुनकर एक नया प्रोजेक्ट बनाते हैं; यह एक सिंगल विंडो पर आधारित एक कार्यक्षेत्र बनाएगा, जिसमें उसका «चित्रमय सहायक» होगा। ओपन होते ही हम फाइल को सेलेक्ट करते हैं व्यूकंट्रोलर.xib (याद रखें कि यह हमारे पहले दृश्य या दृश्य का "ग्राफिक चेहरा" है, जिसे व्यूकंट्रोलर कहा जाता है, और जिसका "कोड" का हिस्सा फाइलों में है देखने का समय y व्यूकंट्रोलर.एच), और हम ऑब्जेक्ट बॉक्स में जाते हैं, नीचे दाईं ओर स्थित, हमारे दृश्य के घटकों को खींचना शुरू करने के लिए: लेबल, बटन ... इसमें सब कुछ होगा!

वस्तुओं को xcode में सम्मिलित करना

जैसा कि हम छवि में देखते हैं, इस बार हमने निम्नलिखित को खींच लिया है:

  • एक वस्तु "लेबल«, शीर्षक के माध्यम से। यह किसी भी चीज के साथ बातचीत नहीं करेगा।
  • एक अन्य वस्तु «लेबल«, जो संख्यात्मक मूल्यों को धारण करेगा।
  • एक «स्टेपर«, पिछले« लेबल »के संख्यात्मक मूल्य को बढ़ाने या घटाने के प्रभारी।
  • Un बटन यह जांचने के लिए कि संख्यात्मक "लेबल" एक मूल्य से मेल खाता है जिसे हमने पहले चुना है।

क्या आप पहले से ही जानते हैं कि यह अभ्यास क्या है? बहुत आसान; हमें अपनी उम्र («स्टेपर» के साथ वर्ष-दर-वर्ष) चुननी होगी, और फिर, चेक बटन का उपयोग करके पता करें कि क्या हम कानूनी उम्र के हैं। यह शैक्षिक होने के साथ ही बेतुका है, इस अभ्यास से आप सीखेंगे कलम का आघात अनेक बातें।

एक्सकोड में लेबल अनुकूलन

जैसा कि आप ऊपर की छवि में देख सकते हैं, «लेबल» का आकार और रंग हो सकता है निजीकृत। प्रत्येक ऑब्जेक्ट में कई पैरामीटर होते हैं जिन्हें आप खोज सकते हैं यदि आप थोड़ा शोध करते हैं। एक बार जब आप प्रत्येक ऑब्जेक्ट को उन विशेषताओं के साथ छोड़ देते हैं जो आपको सबसे अधिक पसंद हैं, तो स्टॉक लेने का समय है: अभी के लिए हमारे पास ««तैयार»हमारा आवेदन; कुछ भी नहीं के साथ बातचीत करता है ... हमें इसे एकता देने की जरूरत है।

ऐसा करने के लिए, हम कुछ के साथ गड़बड़ करने जा रहे हैं कोड (बहुत बुनियादी, और अल्पविकसित व्याख्या); विशेष रूप से फ़ाइल के साथ व्यूकंट्रोलर.एच, जो कि व्यूकंट्रोलर क्लास (हमारी मुख्य विंडो!) की मूल परिभाषाओं को प्रस्तुत करता है। यह कोड या कार्यों को निष्पादित नहीं करता है, यह केवल आधार और आवश्यक कार्यों को स्थापित करता है, ताकि देखने का समय उनका उपयोग कर सकते हैं और कड़ी मेहनत कर सकते हैं ... जिसे हम परिलक्षित देखेंगे व्यूकंट्रोलर.xib! एक ही सिक्के के तीनों पहलू।

इसकी व्याख्या के साथ, हम "कोड" में उन सभी वस्तुओं को परिभाषित करना शुरू कर सकते हैं जिन्हें हमने नेत्रहीन परिभाषित किया है। हम आर्काइव में जाते हैं व्यूकंट्रोलर.एच, और हम निम्नलिखित जोड़ते हैं:

चर में चर लागू करना

चर या तत्वों को परिभाषित करने के कई तरीके हैं, लेकिन इस मामले में, जैसा कि हमें उन्हें (हमारी खिड़की, ग्राफिक भाग) तक पहुंचने के लिए एक तत्व की आवश्यकता है, हम उन्हें इस तरह से असाइन करते हैं (@property के साथ शुरू)। यह एक ऐसा विषय है जिसे हम भविष्य की कक्षाओं में संबोधित करेंगे, अब यह जानने के लायक है कि प्रत्येक व्यक्ति क्या दर्शाता है या पहचान कर रहा है: एक «लेबल»(केवल एक, हम जो शीर्षक बनाते हैं, वह किसी भी चीज़ के साथ बातचीत नहीं करेगा, और हमें इसे कोड में परिभाषित करने की आवश्यकता नहीं है), एक पूर्णांक चर«आयु अधिकांश»(यह नया है, हमने इसे ग्राफिक सेक्शन में नहीं डाला है .. यह केवल तुलना करने के लिए बहुमत की उम्र को स्टोर करेगा) («स्टेपर»(स्टेपर 1 कहा जाता है)।

उपरोक्त के अलावा, दो कार्य भी हैं (दो जो एक हाइफ़न के साथ शुरू होते हैं वे कार्य हैं); जब हम स्टेपर दबाते हैं तो उनमें से कुछ करने के प्रभारी होंगे (उदाहरण के लिए, "लेबल" को हमारी आयु बदल दें? सटीक), और हमारे द्वारा निर्धारित एक के साथ लेबल की वर्तमान आयु की तुलना करने के लिए एक और प्रभारी।

अब तक हमारे पास ग्राफिक भाग परिभाषित है, और कोड भाग भी। हालांकि, हम अपने आवेदन को कैसे सिखाते हैं कि कोड का प्रत्येक चर या तत्व ग्राफिक भाग में इसके समतुल्य है? खैर, बहुत आसान है। हम पर क्लिक करें व्यूकंट्रोलर.xib, और हम «प्ले» और टेक्स्ट «शो डॉक्यूमेंट की रूपरेखा» के आकार के साथ गोल ग्रे बटन देते हैं, जिसे हम नीचे दी गई शीट के बाईं ओर पाते हैं। इसके साथ, हमारी खिड़की के तत्वों वाला एक पैनल प्रदर्शित किया जाएगा।

हम ऊपर "प्लेसहोल्डर" को देखते हैं, जिसमें दो क्यूब्स होते हैं: एक पीला एक (फाइल का मालिक), जो कि हम वस्तुओं को कोड (लेबल, बटन, आदि) के साथ जोड़ देगा; और दूसरा एक लाल (फर्स्ट रिस्पॉन्डर), जहां हम उन फ़ंक्शन को जोड़ेंगे जिन्हें हमने विभिन्न कार्यों के लिए परिभाषित किया है (उदाहरण के लिए, जब एक बटन दबाकर किसी फ़ंक्शन को निष्पादित किया जाता है)।

Xcode की रूपरेखा मेनू

हम वस्तुओं से शुरू करते हैं। "फ़ाइलें मालिक" क्यूब पर राइट क्लिक करें, और एक काला मेनू प्रदर्शित किया जाएगा। हम "आउटलेट" अनुभाग प्रदर्शित करते हैं, और हम उन सभी तत्वों को देखेंगे जिन्हें हमने कोड में परिभाषित किया है (केवल दो हैं, लेबल और स्टेपर 1); हमें उन्हें अपने संबंधित ग्राफ़िक तत्व पर ले जाना होगा: लेबल हमने जो संख्यात्मक लेबल बनाया है, और स्टेपर १ स्टेपर के साथ।

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

वस्तुओं को एक्सकोड में जोड़ना

अब आपको कार्यों के साथ ऐसा ही करना होगा; «पहले जवाब» पर एक राइट क्लिक करें, और हम निम्नलिखित करते हैं:

  1. हम «चेकएज» पर क्लिक करते हैं, और रिहा किए बिना, हम अपनी ग्राफिक विंडो के बटन पर खींचते हैं, जो उम्र की जांच करने के लिए है। एक नया ड्रॉप-डाउन मेनू खुलता है और हम «टच डाउन» चुनते हैं।
  2. हम "स्टेपरवैल्यूचेंज्ड" के साथ भी ऐसा ही करते हैं, लेकिन इस बार हम इसे अपने ग्राफिक "स्टेपर" में खींचते हैं, और ड्रॉप-डाउन मेनू में हम "वैल्यू चेंजेड" चुनते हैं।

Xcode में सहयोगी क्रिया

अभी जो कुछ बचा हुआ है वह "वास्तविक कोड" को जोड़ना है देखने का समय; हमें आपको बताना होगा कि प्रत्येक क्रिया के साथ क्या होता है। हम आपको यह बताने से शुरू करते हैं कि इसमें परिभाषित चर के बारे में पता होना चाहिए व्यूकंट्रोलर.एच (कानूनी उम्र चर, स्टेपर चर, और लेबल चर; दोनों अपने ग्राफिक समकक्ष से जुड़े) का उपयोग कर «@synthesize variable_name_u_element«, जैसा कि हम छवि में देखते हैं:

चर में चर का कार्यान्वयन

छोड़े बिना देखने का समय, हम समारोह के लिए नेतृत्व किया viewDidLoad (फ़ाइल के अंत में), और जो पहले से ही लिखा गया है उसके ठीक नीचे, लेकिन «से पहले}«, हम अपने देश में बहुमत की आयु को परिभाषित करते हैं। इस मामले में, 18:

Xcode didload फ़ंक्शन

अंत में, हम बनाने और प्रोग्राम करने जा रहे हैं कार्यों हमने viewcontroller.h में परिभाषित किया है (केवल दो हैं)। हर बार जब हम स्टेपर दबाते हैं, तो उसे निष्पादित किया जाएगा, और यह उस उम्र को दिखाना होगा जो हमारे «लेबल» में बदल रही है।

जब हम बटन दबाएंगे तो दूसरे को निष्पादित किया जाएगा आयु की जांच करें, और यह जाँच करेगा (अतिरेक के लायक) यदि हमने जो आयु दर्ज की है वह बहुमत की आयु के बराबर या उससे अधिक है: यदि उत्तर हाँ है, तो ऐप की पृष्ठभूमि हरे रंग में बदल जाएगी; यदि यह नहीं है, तो यह लाल हो जाएगा। दोनों को फाइल में रखा जाना चाहिए देखने का समय; उदाहरण के लिए, फंक्शन से ठीक पहले - (शून्य) viewDidLoad.

कक्षा दो कार्य

अब सबसे अच्छा आता है। आपको यह कोशिश करनी है! ऊपर दिए गए प्ले बटन पर जाएं, यह देखते हुए कि "आईफोन सिम्युलेटर" चयनित है, और इसे हिट करें। आपकी विंडो खुल जाएगी, और आप इसके साथ बातचीत कर पाएंगे!

व्यायाम दो की तस्वीर

अभ्यास को और अधिक जटिल बनाया जा सकता है, लेकिन इसके साथ ही आपके पास अपने दम पर जांच करने और नए विकल्पों को आज़माने के लिए आधार हैं। ट्यूटोरियल का पालन करना आसान बनाने के लिए, जिज्ञासा से बाहर, या बस के मामले में आप इसे काम नहीं कर सकते, यहाँ एक परियोजना है संग्रह दबा हुआ! मुझे आशा है कि इसने आपकी सेवा की है ... अगली बार तक!

अधिक जानकारी - प्रोग्राम करना सीखें: Xcode (I) को जानना

डाउनलोड - Xcode के लिए दूसरा प्रोग्रामिंग क्लास


लेख की सामग्री हमारे सिद्धांतों का पालन करती है संपादकीय नैतिकता। त्रुटि की रिपोर्ट करने के लिए क्लिक करें यहां.

7 टिप्पणियाँ, तुम्हारा छोड़ दो

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा।

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   अबेकर कहा

    बिल्कुल सही, मुझे आशा है कि आप अधिक पाठ्यक्रम प्रकाशित करने में देरी नहीं करेंगे। लेकिन आप विस्तार से बता सकते हैं कि प्रत्येक फ़ंक्शन क्या करता है, उदाहरण के लिए: "*) प्रेषक" और "चुना:% d" क्योंकि ऐसे लोग हैं जिन्हें उद्देश्य-ग का ज्ञान नहीं है। बहुत अच्छी पोस्ट।

    ग्रीटिंग्स सर्जियो एब्रिल।

    1.    सर्जियो अप्रैल कहा

      हैलो!
      बहुत बहुत धन्यवाद, मैं संक्षेप में, "त्वरित" और "आसान" तरीके से समझाता हूं, क्योंकि यह एक बहुत ही सही प्रश्न है:

      आम तौर पर जब आप किसी फ़ंक्शन को परिभाषित करते हैं, तो आपको उस पैरामीटर को जोड़ना होगा जिसे आप उस फ़ंक्शन पर भेजना चाहते हैं, और जिसके साथ आप उस पर काम करना चाहते हैं; बटन और स्टेपर्स के मामले में, हम उन्हें जोड़ते हैं ताकि फ़ंक्शन को पता चले कि यह एक निश्चित वस्तु कह रहा है (एक के मामले में, एक यूबूटन, और दूसरे के मामले में, एक UIStepper), जिसे हमने नाम दिया है हम फ़ंक्शन के अंदर काम करना चाहते हैं (इस मामले में दोनों «प्रेषक», लेकिन कोई भी काम करता है)। इसलिए, फ़ंक्शन के नाम के बाद, एक बृहदान्त्र होते हैं, और फिर (UIButton *) प्रेषक।

      आपको यह दिखाने के लिए कि ये फ़ंक्शन "उन्हें कॉल करने वाली वस्तु" प्राप्त कर रहे हैं, हालांकि यह सच है कि मैंने इसका लाभ नहीं लिया है, इसे आज़माएं:

      CheckerValuechanged फ़ंक्शन (viewcontroller.m के अंदर) में बदलें, सभी "स्टेपर 1" जो आपको "प्रेषक" द्वारा मिलते हैं। आप देखेंगे कि यह समान काम करना जारी रखता है, और परिणाम समान है (हालांकि इस अभ्यास के मामले में, मैंने उस डेटा का लाभ नहीं लिया है जिसे "प्रेषक" प्राप्त करता है और संग्रहीत करता है, लेकिन मैंने stepper1 का सीधा संदर्भ दिया है) (जो एक ही है) ... इसलिए संदेह पैदा होता है .. इतनी अच्छी तरह से पूछा!

      दूसरे के लिए, एक NSLog एक स्क्रीन "लॉग" से ज्यादा कुछ नहीं है, ताकि हम उद्धरण चिह्नों के बीच जो पाठ डालते हैं, वह Xcode कंसोल में नीचे दिखाई दे। यदि, इसके अतिरिक्त, हम चाहते हैं कि यह कुछ मानों को प्रदर्शित करे, उदाहरण के लिए, इस मामले में, प्रत्येक पल में स्टेपर 1 का क्या मूल्य है, तो इसे जोड़ने का सही तरीका है; वह स्थान जहाँ हम चाहते हैं कि मान% d जाए, और उद्धरण चिह्नों के बाद, चर का नाम। (% d इस तथ्य को संदर्भित करता है कि यह पूर्णांक मान है। यदि यह, उदाहरण के लिए, एक दशमलव, तो आपको%% रखना होगा)।

      एक बिंदु पर आप सोच सकते हैं कि हमें NSLog (@ »चुना गया: VARIABLE») रखना चाहिए; लेकिन चूंकि उद्धरण चिह्नों में जो कुछ भी है वह «शाब्दिक» है, मान प्रकट नहीं होगा, लेकिन शब्द VARIABLE ... और आपके पास है NSLog (@ »चुना गया:% d", VARIABLE) का सहारा लेना, ताकि "%" का पता लगाने पर यह पता चले कि मूल्य है कि हम अल्पविराम के बाद जगह लेंगे।

      यह थोड़ा भ्रमित करने वाला है, लेकिन मुझे आशा है कि मैंने अपने आप को, समझाया है

      1.    दानी कहा

        आपकी उदारता के लिए धन्यवाद; इसे बनाए रखो 🙂

  2.   संति_एक्सिक्सन कहा

    कृपया पोस्ट बनाना बंद न करें, यह बहुत उपयोगी है और निश्चित रूप से बहुत से लोग, अपने आप को, जैसे इसे पसंद करते हैं।

  3.   गुस्तावो डे ला रोजा कहा

    आपके अब तक के दो लेख उत्कृष्ट हैं। मैं इस नई भाषा के बारे में जानने के लिए अगले लोगों की प्रतीक्षा कर रहा हूं। एक प्रश्न, क्योंकि जो कार्य उपयोग किए गए थे वे IBAction प्रकार के हैं और केवल शून्य नहीं हैं?

  4.   विकट04- कहा

    आपने कभी भी कुछ भी प्रोग्राम नहीं किया है और आप सब कुछ इतना सरल बनाते हैं। इन लेखों को लिखने के लिए बहुत-बहुत धन्यवाद मैं दूसरों की प्रतीक्षा करता हूं, क्षमा करें लेकिन विषय का अध्ययन जारी रखने के लिए कुछ किताबें या वेब पेज हैं, मैं यह जानने के लिए बहुत उत्सुक हूं कि यह कैसे करना है? कोई फर्क नहीं पड़ता कि वे अंग्रेजी में हैं मुझे आशा है कि आप मेरी मदद कर सकते हैं धन्यवाद।

  5.   लुसाना कहा

    क्या कोई तीसरा भाग होगा? हम पहले से ही मार्च में हैं