בנה את משחק האנדרואיד הבסיסי הראשון שלך תוך 7 דקות בלבד (עם Unity)

מְחַבֵּר: Lewis Jackson
תאריך הבריאה: 11 מאי 2021
תאריך עדכון: 1 יולי 2024
Anonim
Leap Motion SDK
וִידֵאוֹ: Leap Motion SDK

תוֹכֶן


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

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

אחדות היא כלי מקצועי ביותר המאשר את הרוב המכריע של הכותרות הנמכרות ביותר בחנות Play.

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

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


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

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

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

הוספת שודדים ופיזיקה

התחל בלחיצה כפולה על Unity כדי להפעיל אותה. אפילו המסע הארוך ביותר מתחיל בצעד יחיד.

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

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


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

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

הנה אנחנו הולכים, יפה. זרוק אותו באותה צורה שעשית רק עכשיו.

יש לנו כבר משהו שנראה כמו 'משחק'. לחץ על הפעל ועליך לראות סצינה סטטית לעת עתה.

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

בחר 'הוסף רכיב' ואז בחר 'פיזיקה 2D> RigidBody2D'. רק הוספת פיזיקה לשחקן שלך! זה יהיה קשה לנו להפליא לעשות זאת בכוחות עצמנו ומדגיש באמת את התועלת של האחדות.

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

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

כדי למנוע את הדמות שלנו ליפול ברצפה, תצטרך להוסיף קולידר. זה בעצם המתאר המוצק של צורה. כדי להחיל זאת, בחר בנגן שלך, לחץ על 'הוסף רכיב' והפעם בחר 'פיזיקה 2D> BoxCollider2D'.

קח רגע לשקול כמה קל היה זה: פשוט על ידי יישום התסריט הזה שנקרא 'RigidBody2D' יש לנו פיזיקה פונקציונלית מלאה.

עשה את אותו הדבר בדיוק עם הפלטפורמה, לחץ על הפעל ואז הדמות שלך צריכה לרדת על הקרקע המוצקה. קל!

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

התסריט הראשון שלך

אנו הולכים לעשות רץ בסיסי אינסופי וזה אומר שהדמות שלנו צריכה לנוע על פני המסך עד שהם יפגעו במכשול. לשם כך אנו זקוקים לתסריט. אז לחץ לחיצה ימנית על תיקיית הנכסים בתחתית וצור תיקיה חדשה בשם 'סקריפטים'. לחץ לחיצה ימנית שוב ובחר 'צור> C # סקריפט'. קרא לזה 'PlayerControls'.

לרוב התסריטים שאנו יוצרים יגדירו התנהגויות ספציפיות עבור GameObjects שלנו.

כעת לחץ לחיצה כפולה על הסקריפט החדש שלך והוא ייפתח ב- Visual Studio אם תגדיר הכל נכון.

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

Rigidbody2D ציבורי ציבורי;

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

rb = GetComponent();

הוסף עדכון זה בתוך ():

rb.velocity = וקטור 2 חדש (3, rb.velocity.y);

עדכון () מתרענן שוב ושוב וכך כל קוד כאן יפעל שוב ושוב עד שהאובייקט ייהרס. כל זה אומר שאנחנו רוצים שלגוף הנוקשה שלנו יהיה וקטור חדש באותה המהירות בציר Y (rb.velocity.y) אבל עם המהירות של '3' בציר האופקי. ככל שתתקדמו, סביר להניח שתשתמשו 'FixedUpdate ()' בעתיד.

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

הערה: אם כל זה נשמע מבלבל, פשוט צפו בסרטון הווידיאו כדי לראות את הכל נעשה - זה יעזור!

קלט נגן בסיסי מאוד

אם אנו רוצים להוסיף תכונת קפיצה, אנו יכולים לעשות זאת בפשטות פשוט עם עוד קוד נוסף אחד:

אם (Input.GetMouseButtonDown (0)) {rb.velocity = Vector Vector2 חדש (rb.velocity.x, 5); }

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

אנדרואיד קוראת את לחיצת העכבר השמאלית כקשה בכל מקום על המסך! אז עכשיו למשחק שלך יש בקרות ברז בסיסיות.

מציאת בסיס

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

אם תוריד את זה, אף אתגר לא יהיה גדול מדי בעתיד

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

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

הוסף את הקוד הבא לסקריפט שלך מעל לשיטת העדכון ():

בדיקת קרקע טרנספורמציה ציבורית; התחל שינוי ציבורי; קרקע לציפה ציבורית צ'ק ראדיוס; LayerMask publicIsGround; bool פרטי onGround;

הוסף שורה זו לשיטת העדכון מעל הצהרת if:

onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

לבסוף, שנה את השורה הבאה כך שתכלול &&Ground:

if (Input.GetMouseButtonDown (0) && onGround) {

כל העניין צריך להיראות כך:

נגני נגני בכיתה ציבורית: MonoBehaviour {public Rigidbody2D rb; בדיקת קרקע טרנספורמציה ציבורית; התחל שינוי ציבורי; קרקע לציפה ציבורית צ'ק ראדיוס; LayerMask publicIsGround; bool פרטי onGround; void Start () {rb = GetComponent(); } עדכון בטל () {rb.velocity = חדש Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = new Vector2 (rb.velocity.x, 5); }}}

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

אז, OnGround נכון אם הטרנספורמציה שנקראת groundCheck חופפת את קרקע השכבה.

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

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

בחר שוב את הנגן ובפקח, גרור את האובייקט החדש של Check Ground לחלל בו כתוב 'groundCheck'. כעת ה"טרנספורמציה "(מיקום) תהיה שווה למיקומו של האובייקט החדש. כשאתה כאן, הזן 0.1 איפה שכתוב עליו רדיוס.

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

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

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

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

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

הדרך קדימה

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

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

אם אתה יודע מה אתה רוצה לבנות ולעשות את המחקר שלך, אתה לא צריך להיות אשף קידוד כדי ליצור משחק הגון!

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

14 באוגוסט 2019טווח דינמי נמדד בעצירות, כאשר כל עצירה שווה לכמות האור או למחציתה. הגדלת החשיפה על ידי עצירה אחת פירושה הכפלת האור. אם היית מצלם במהירות תריס 1/100, בהירה אחת עצירה תהיה 1/50 ואילו עציר...

בחירה של הקוראים