למד לתכנת משחקים עבור iOS: היכרות עם Xcode (II)

למד לתכנת

לאחר הפרק האחרון, שכותרתו ללמוד לתכנת משחקים עבור iOS: הכרת Xcodeולפני שנצלול לתוך Cocos2d, בואו נצלול קצת יותר לעומק Xcode. בהזדמנות זו, נתקשר עם האלמנטים שנוצרו, במקום להגביל את עצמנו ל"שלום עולם "פשוט.

עם זאת, תוכלו לרכוש מיומנות בטיפול ב- Xcode ותוכלו ליישם את היישומים ה"שימושיים "הראשונים שלכם במהירות; על ידי לימוד השימוש הבסיסי בכפתורים ותוויות טקסט. מכיוון שהשיעור הזה מורכב במקצת מהקודם, תהיה לכם הדוגמה המעשית זמינה להורדה בסוף ההודעה, כך שתוכלו להריץ אותו ולבדוק שהוא עובד נכון!

ראשית, אנו פותחים את Xcode ויוצרים פרויקט חדש על ידי בחירה בתבנית "יישום תצוגה אחת", בדיוק כמו במחלקה הקודמת; פעולה זו תיצור מרחב עבודה המבוסס על חלון יחיד, עם ה"עוזר הגרפי "שלו. לאחר פתיחתנו, אנו בוחרים את הקובץ viewcontroller.xib (נזכיר שזה "הפנים הגרפיות" של התצוגה או הסצנה הראשונה שלנו, הנקראים viewcontroller, ושחלקם של "קוד" נמצא בקבצים. בקר בקר y viewcontroller.h), ואנחנו הולכים לתיבת האובייקטים, הממוקמת בפינה השמאלית התחתונה, כדי להתחיל לגרור רכיבים לסצנה שלנו: תוויות, כפתורים ... יהיה בה הכל!

הכנסת אובייקטים ל- xcode

כפי שאנו רואים בתמונה, הפעם גררנו את הדברים הבאים:

  • חפץ "תווית«, בדרך של כותרת. זה לא יתקשר עם שום דבר.
  • אובייקט אחר «תווית«, אשר יכיל ערכים מספריים.
  • על "צעד", אחראי על הגדלת או הקטנת הערך המספרי של" התווית "הקודמת.
  • Un כפתור כדי לבדוק שה"תווית "המספרית תואמת לערך שבחרנו בעבר.

האם אתה כבר יודע על מה התרגיל הזה? קל מאוד; נצטרך לבחור את הגיל שלנו (שנה אחר שנה עם ה"סטפר "), ואז, באמצעות לחצן הסימון, לברר אם אנו בגיל חוקי. עד כמה שהוא חינוכי, עם תרגיל זה תלמד מא שבץ בעט מספר דברים.

התאמה אישית של תווית ב- xcode

כפי שניתן לראות בתמונה לעיל, הגודל והצבע של התוויות יכולים להיות התאמה אישית. לכל אובייקט יש מגוון פרמטרים שתוכלו לברר אם אתם מבצעים מחקר קטן. ברגע שהשארת לכל אובייקט את המאפיינים שאתה הכי אוהב, הגיע הזמן לעשות חשבון: בינתיים יש לנו «שָׁלוּף»היישום שלנו; שום דבר לא מתקשר עם כלום ... אנחנו צריכים לתת לזה אחדות.

לשם כך, אנחנו הולכים להתעסק עם כמה צופן (מאוד בסיסי, והסבר ראשוני); במיוחד עם הקובץ viewcontroller.h, המאכלס את ההגדרות הבסיסיות של מחלקת תצוגת הצפייה (החלון הראשי שלנו!). הוא לא מבצע קוד או פעולות, אלא רק קובע את הבסיסים ואת הפונקציות הדרושות, כך בקר בקר יכולים להשתמש בהם ולעשות את העבודה הקשה ... שנראה באה לידי ביטוי viewcontroller.xib! כל שלושת הצדדים של אותו מטבע.

עם הסבר זה, אנו יכולים להתחיל להגדיר ב"קוד "את כל האובייקטים שהגדרנו באופן חזותי. אנחנו הולכים לארכיון viewcontroller.hונוסיף את הדברים הבאים:

יישום משתנים ב- xcode

ישנן מספר דרכים להגדרת משתנים או אלמנטים, אך במקרה זה, מכיוון שאנו זקוקים לאלמנט כדי לגשת אליהם (החלון שלנו, החלק הגרפי), אנו מקצים אותם בדרך זו (החל מ- @ property). זה נושא אליו נעסוק בשיעורים עתידיים, לעת עתה כדאי לדעת למה כל אחד מתייחס או לזהות: א «תווית»(רק אחד, מכיוון שהכותרת שאנו יוצרים לא תתקשר עם שום דבר, ואיננו צריכים להגדיר אותה בקוד), משתנה שלם הנקרא«גיל הרוב»(זה חדש, לא שמנו את זה בסעיף הגרפי .. זה יאחסן רק את גיל הרוב כדי לבצע השוואות), א«צעד»(נקרא stepper1).

בנוסף לאמור לעיל, ישנן גם שתי פונקציות (השניים שמתחילים במקף הם פונקציות); אחד מהם יהיה אחראי על פעולה כשאנחנו לוחצים על הצעד (לדוגמה, לגרום ל"תווית "לשנות את גילנו? מדויק), ועוד אחד האחראי על השוואת הגיל הנוכחי של התווית לזה שקבענו.

עד כה הגדרנו את החלק הגרפי, וגם את חלק הקוד. עם זאת, כיצד נלמד את היישום שלנו למה מתאים כל משתנה או אלמנט בקוד, שווה ערך בחלקו הגרפי? ובכן, קל מאוד. אנחנו לוחצים viewcontroller.xib, ונלחץ על הכפתור האפור העגול עם הצורה של "הפעל" והטקסט "הצג את מתאר המסמך", שנמצא בפינה השמאלית התחתונה של הגיליון בריבוע. עם זה, לוח עם אלמנטים של החלון שלנו יוצג.

אנו מסתכלים על "מצייני מקום" לעיל, המכילים שתי קוביות: צהוב (הבעלים של קובץ), שם נקשר את האובייקטים לקוד (תוויות, כפתורים וכו '); ועוד אדמדם (First Responder), בו נקשר את הפונקציות שהגדרנו לפעולות שונות (למשל, שכאשר לוחצים על כפתור מבוצעת פונקציה).

תפריט מתאר Xcode

אנחנו מתחילים עם האובייקטים. לחץ לחיצה ימנית על קוביית "בעלים של קבצים" ותוצג תפריט שחור. אנו מציגים את הקטע "שקעים", ונראה את כל האלמנטים שהגדרנו בקוד (יש רק שניים, תווית ו- stepper1); עלינו לגרור אותם לאלמנט הגרפי המתאים להם: תווית עם התווית המספרית שיצרנו, ו צעד 1 עם הצעד.

כשנגרור אותו נראה כיצד נוצר "זרוע כחולה" העוקב אחר העכבר שלנו אל האובייקט אותו אנו רוצים לשייך. (הערה: כדי להתחיל בתהליך הגרירה, עליכם ללחוץ על העיגולים הריקים לצד שם כל אובייקט, כמו בתמונה)

שיוך אובייקטים ב- xcode

עכשיו אתה צריך לעשות את אותו הדבר עם הפונקציות; לחיצה ימנית על «תשובה ראשונה» ואנחנו מבצעים את הפעולות הבאות:

  1. אנו לוחצים על «checkAge» וללא שחרור אנו גוררים עד לכפתור החלון הגרפי שלנו, זה לבדיקת הגיל. תפריט נפתח חדש נפתח ואנחנו בוחרים «גע למטה».
  2. אנו עושים את אותו הדבר עם "stepperValueChanged", אך הפעם אנו גוררים אותו ל" stepper "הגרפי שלנו, ובתפריט הנפתח אנו בוחרים" Value Changed ".

שיוך פעולות ב- xcode

כרגע כל שנותר הוא להוסיף את "הקוד האמיתי" ל בקר בקר; עלינו לומר לך מה לעשות עם כל פעולה שמתרחשת. ראשית אנו אומרים לך להיות מודע למשתנים שהוגדרו ב viewcontroller.h (משתנה הגיל החוקי, המשתנה הסטפר ומשתנה התווית; שניהם קשורים לעמיתם הגרפי) באמצעות «@ סינתזה גודל משתנה_וא_אלמנט«, בדיוק כפי שאנו רואים בתמונה:

יישום משתנים ב- xcode

מבלי לעזוב בקר בקר, פנינו לפונקציה viewDidLoad (בסוף הקובץ), ומעט מתחת למה שכבר כתוב, אבל לפני «}אנו מגדירים מה צריך להיות גיל הרוב בארצנו. במקרה זה, 18:

פונקציית Xcode didload

לבסוף, אנו הולכים ליצור ולתכנת את funciones שהגדרנו ב- viewcontroller.h (יש רק שניים). אחת תבוצע בכל פעם שנלחץ על הצעד, ועליו להראות את הגיל המשתנה ב"תווית "שלנו.

השני יבוצע כאשר אנו לוחצים על הכפתור לבדוק גיל, והיא תבדוק (שווה את היתירות) אם הגיל שהזנו שווה לגיל הרוב או גדול ממנו: אם התשובה חיובית, הרקע של האפליקציה ישתנה לירוק; אם לא, הוא יהפוך לאדום. יש למקם את שניהם בתיק בקר בקר; למשל, מיד לפני הפונקציה - (בטל) viewDidLoad.

מחלקה שתי פונקציות

עכשיו מגיע הטוב ביותר. אתה חייב לנסות את זה! עבור לכפתור ההפעלה שלמעלה, בדוק שנבחר "סימולטור אייפון" ולחץ עליו. החלון שלך ייפתח ותוכל לתקשר איתו!

תמונה של תרגיל שני

התרגיל יכול להיות מורכב יותר, אך עם זאת יש לך את הבסיסים לחקור לבד ולנסות אפשרויות חדשות. כדי להקל על המעקב אחר ההדרכה, מתוך סקרנות, או פשוט למקרה שלא תוכלו לגרום לזה לעבוד, הנה הפרויקט בתכנית ארכיון דָחוּס! אני מקווה שזה שימש אותך ... עד הפעם הבאה!

עוד מידע - למד לתכנת: היכרות עם Xcode (I)

הורד - מחזור תכנות שני ל- Xcode


15 המשחקים המובילים
אתה מעוניין ב:
משחקי ה- TOP 15 לאייפון
עקוב אחרינו בחדשות Google

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   מפקדים דיג'ו

    מושלם, אני מקווה שלא תתעכבו זה לפרסם קורסים נוספים. אך תוכל לציין בפירוט מה כל פונקציה עושה, למשל: "*) שולח" ו"נבחר:% d "מכיוון שיש אנשים שאין להם ידע בנושא אובייקטיבי-ג. פוסט טוב מאוד.

    ברכה סרחיו אבריל.

    1.    סרחיו אפריל דיג'ו

      הלו!
      תודה רבה, אני מסביר בקצרה, בצורה "מהירה" ו"קלה ", שכן זו שאלה מוצלחת מאוד:

      באופן כללי כשאתה מגדיר פונקציה, עליך להוסיף את הפרמטרים שברצונך לשלוח לאותה פונקציה ואיתם ברצונך לעבוד עליה; במקרה של כפתורים וסטפרים, אנו מוסיפים אותם כך שהפונקציה תדע שהיא קוראת לאובייקט מסוים (במקרה של אחד, UIB כפתור, ובמקרה אחר, UIStepper), אליו אנו שמים את השם אנו רוצים לעבוד עם החלק הפנימי של הפונקציה (במקרה זה גם "השולח", אבל כל אחד עובד). לפיכך, אחרי שם הפונקציה, יש נקודתיים, ואז (UIButton *) שולח.

      כדי להראות לך שהפונקציות הללו מקבלות את "האובייקט שקורא להן", אם כי נכון שלא ניצלתי אותו, נסה את הדברים הבאים:

      החלף בפונקציה checkerValuechanged (בתוך viewcontroller.m), את כל "stepper1" שתמצא, על ידי "שולח". תראה שהוא ממשיך לעבוד אותו דבר, והתוצאה זהה (אם כי במקרה של תרגיל זה, לא ניצלתי את הנתונים ש"שולח "מקבל ושומר, אבל התייחסתי ישירות ל stepper1 (וזהה) ... מכאן מתעוררים ספקות .. כל כך נשאל!

      באשר לשני, NSLog הוא לא יותר מאשר "יומן" מסך, כך שהטקסט שהצבנו בין המרכאות מופיע למטה במסוף ה- Xcode. אם בנוסף, אנו רוצים שיציג ערכים מסוימים, שנראה, למשל במקרה זה, איזה ערך ל- stepper1 יש בכל רגע, זו הדרך הנכונה להוסיף אותו; הצבת המקום בו אנו רוצים שהערך יעבור ל-% d, ואחרי המרכאות, שם המשתנה. (% d מתייחס לעובדה שזה ערך שלם. אם זה היה למשל עשרוני, יהיה צורך לשים% f).

      בשלב מסוים אתה עשוי לחשוב שעלינו לשים את NSLog (@ "שנבחר: VARIABLE");:% d ", VARIABLE), כך שכאשר אנו מגלים את"% "הוא יידע שיש ערך שנניח אחרי הפסיק. .

      זה קצת מבלבל, אבל אני מקווה שהסברתי את עצמי 😉

      1.    דן דיג'ו

        תודה על נדיבותך; המשך כך 🙂

  2.   סנטי_יקסון דיג'ו

    בבקשה אל תפסיקו לכתוב את הפוסט, זה מאוד שימושי ובוודאי שאנשים רבים, כולל אני, אוהבים את זה.

  3.   גוסטבו דה לה רוזה דיג'ו

    שני המאמרים שיש לך עד כה מצויינים. אני מצפה לבאים הבאים להמשיך ללמוד על השפה החדשה הזו. שאלה אחת, מכיוון שהפונקציות שהיו בשימוש הן מסוג IBAction ולא רק בטלות?

  4.   VicT04- דיג'ו

    מעולם לא תיכנתת כלום ואתה הופך את הכל לפשוט כל כך תודה רבה לך על כתיבת המאמרים האלה אני מצפה לאחרים, מצטער אבל כמה ספרים או דפי אינטרנט כדי להמשיך ללמוד את הנושא, אני סקרן מאוד ללמוד כיצד ליישם יישומים לא משנה אם הם באנגלית אני מקווה שתוכל לעזור לי תודה.

  5.   לוסאן דיג'ו

    יהיה חלק שלישי? אנחנו כבר במרץ