הבנתי שהמורכבות היחסית שליריותהפרויקט עשוי להסיח את הדעת מרעיון מרכזי שרציתי להביע בסדרה הזו, כלומר שקל ליצור איתם משחקיםהכלים של Unity. כדי להוכיח את הנקודה הזו, היום, ביחד, אנחנו הולכים לעשות שיבוט של ענק במוצאי גיימינג, אנחנו הולכים לעשות פונג בפוסט. ואפילו לא פוסט ארוך מדי על זה. לִתְפּוֹסעותק של Unityולפגוש אותי אחרי החתך.
לאחר שהורדת והתקנת את Unity צור פרויקט חדש. תן לזה PongInAPost. ממשק ברירת המחדל של Unity מורכב מ-5 חלונות או כרטיסיות: תצוגת הסצנה, תצוגת המשחק, הכרטיסייה היררכיה, הכרטיסייה פרויקט וכרטיסיית המפקח. כולם יהיו די ריקים בשלב זה. בסרגל הכלים הראשי בחלק העליון של המסך עבור GameObject>Create Other>Sphere כדי ליצור את הכדור למשחק הפונג שלנו. שימו לב, כרטיסיית המפקח מלאה כעת בפרטים עבור אובייקט זה. בלשונית מפקח ודא שערכי המיקום של X, Y ו-Z מוגדרים כולם ל-0. האובייקט עצמו, 'Sphere', מופיע כעת בכרטיסייה ההיררכיה. מעל האובייקט Sphere בכרטיסייה היררכיה זו תראה אובייקט אחר 'מצלמה ראשית'. סמן (לחץ על) אובייקט זה בלשונית ההיררכיה ומסרגל הכלים הראשי עבור שוב ל-GameObject>Move To View. בתצוגת הסצנה תראה כעת של-Sphere יש אייקון חדש באמצע שנראה קצת כמו מצלמה עם שלושה חיצי צירים מחוברים אליה. תפוס את החץ הכחול עם העכבר ודחוף אותו לאחור עד שתוכל לראות את הכדור מופיע בחלון המשחק למטה כאשר אתה מזיז את המצלמה עם חץ הציר הזה, שים לב שערך מיקום Z משתנה בלשונית המפקח. אתה יכול להתאים ערך זה ישירות בלשונית המפקח כדי להיות מדויק יותר. שנה את ערך ה-Z בערך -10 ולחץ על return. הכדור אמור כעת להיראות די קטן בחלון המשחק.
כעת עבור לסרגל הכלים הראשי ועבור GameObject> צור אחר> קובייה. זה יצור אובייקט קובייה חדש באותו מקום כמו הקובייה שלנו (אלא אם חרגת מההוראות והזזת את תצוגת הסצנה... שובב!). תפוס את הציר הירוק של הקובייה החדשה הזו והזיז אותה מעט למעלה. ראה את ערך מיקום Y של השינויים בקובייה בלשונית המפקח כדי להתאים. בכרטיסייה מפקח, שנה ערך זה לכ-6.
יש דרך שלישית להתאים את ערכי הטרנספורמציה של אובייקט והיא באמצעות הסמלים בפינה השמאלית העליונה של Unity GUI. לחץ על האחרון בשורה זו של ארבע (קנה קנה מידה של האובייקט המודגש) ו - וודא שאובייקט הקוביה עדיין מסומן בכחול בלשונית ההיררכיה - העבר את העכבר בכל מקום מעל תצוגת הסצנה והקש על מקש 'f'. זה ימקד את תצוגת הסצנה באובייקט הקובייה. כעת תפוס את הציר האדום על הקוביה ומשוך אותו עד שהקוביה נמתחת לפס ארוך (ערך סולם ה-X בלשונית המפקח אמור להיות בערך 12. כוונן את הערך ישירות בלשונית המפקח אם אתה מעדיף).
כשאובייקט הקובייה בכרטיסייה ההיררכיה עדיין מודגש, הקש ctl+d כדי לשכפל את הקוביה ולשנות את ערך מיקום ה-Y של הקובייה המשוכפלת החדשה לכ-6. כעת אמורים להיות לך שני פסים ארוכים מעל ומתחת ל-Sphere בתצוגת המשחק. שכפל קובייה שלישית (בחר אחד מהפסים שיש לך בלשונית היררכיה והקש ctrl+d) והזז את הקובייה השלישית לאורך ציר מיקום ה-Y שלה בחזרה ליד הכדור. שנה את ערכי קנה המידה של X ו-Y בלשונית המפקח ל-1 ו-2 בהתאמה. כעת אמור להיות לך משוט פונג גדוש ליד הספירה. כוונן את ערך מיקום ה-X שלו עד שהוא נמצא בצד אחד של אזור המשחק אך עדיין בתוך הפסים העליונים והתחתונים, כלומר אל תזיז אותו מעבר לקצה הפסים הארוכים (ראה צילום מסך).
שכפלו את ההנעה והעבירו את החדש לצד השני של אזור המשחקים. כעת יש לנו ארבעה אובייקטים הנקראים פשוט 'קוביה' בלשונית ההיררכיה, וזה עלול להיות מבלבל כך שנוכל לשנות את שמם על ידי לחיצה ימנית על האובייקט בכרטיסייה היררכיה ולאחר מכן שנה שם, בדיוק כפי שהיית עושה ב-Windows Explorer. כמו באקספלורר אתה יכול גם לעשות שתי לחיצות איטיות על האובייקט כדי לשנות את שמו. נסה זאת מכיוון שנצטרך להשתמש בשיטה זו בעוד דקה. אתה יכול להקטין את תצוגת הסצנה עם גלגל העכבר a כדי שתוכל לראות אילו אובייקטים אתה מדגיש. זה כנראה רעיון טוב לחסוך. עבור קובץ>שמור סצנה מסרגל הכלים וקרא לזה איך שתרצה.
כעת ניצור את פקדי ההנעה. לחץ באמצעות לחצן העכבר הימני על חלק ריק בלשונית הפרויקט ועבור ליצירה>JavaScript. פעולה זו תיצור רכיב סקריפט חדש בשם NewBehaviourScript בלשונית Project. שנה את השם הזה ל-"Player1controls" באמצעות שיטת שינוי השם בלחיצה איטית. בלשונית המפקח תראה לחצן עריכה עבור הסקריפט החדש הזה. לחץ עליו כדי לפתוח את עורך הסקריפטים. הדבק את הקוד הבא במסמך החדש, והחלף כל טקסט שיש שם:
function Update () {
if (Input.GetKey ("q")) {
transform.Translate (0, 4 * Time.deltaTime,0);
}
if (Input.GetKey ("z")) {
transform.Translate (0, -4 * Time.deltaTime,0);
}
}
הקוד הזה רק בודק אם המקשים Q ו-Z נלחצים ואז מעביר את כל מה שהסקריפט מחובר אליו למעלה או למטה בהתאם. שמור את הסקריפט הזה וחזור למסך ה-Unity הראשי (כלומר צמצם את עורך התסריט...). צור סקריפט חדש נוסף בלשונית Project וקרא לו "Player2Controls". הוסף את אותו הקוד לסקריפט החדש, אך שנה את האותיות q ו-z ל-o ו-m או כל אותיות שתרצה להשתמש בפקדים של שחקן 2.
אנחנו כמעט שם! גרור את הסקריפט Player1controls מהכרטיסייה Project אל אחת ההנעות, ולאחר מכן גרור את Player2Controls אל השנייה. אם תלחץ על סמל ה-Play במרכז העליון של המסך כעת, תראה את המשחק בתצוגה מקדימה ותראה שהמקשים שולטים במשוטים.
עכשיו בואו ניתן לכדור קצת תנועה. סמן את האובייקט Sphere בלשונית היררכיה ועבור לרכיב>פיסיקה>Rigidbody מסרגל הכלים הראשי. תראה בלשונית Inspector שזה הוסיף רכיב Rigidbody לרשימת הרכיבים. בטל את הסימון בתיבה השתמש בכוח המשיכה שאתה רואה שם. שנה את ערך המסה ל-0.01. קצת מעל לרכיב Rigidbody בלשונית Inspector תראה רכיב Sphere Collider. שנה את ערך החומר ל-Bouncy על ידי לחיצה על החץ הקטנטן בסוף הערך ובחירה בו מהתפריט הנפתח.
כעת אתה אמור לראות סמל קטן ואת המילה Bouncy בחלק הערך של הרכיב Material of the Sphere Collider. לחץ על סמל זה ותראה תיבה צהובה מהבהבת בלשונית הפרויקט כדי להדגיש את החומר הקופצני הזה. גרור את החומר הזה מכרטיסיית הפרויקט אל המשוטים של שניכם והסרגל העליון והתחתון כדי להוסיף קופצנות לכל אובייקטי המשחק שלך (מלבד המצלמה...).
יש לנו עוד שני דברים לעשות. הוסיפו כוח ראשוני לכדור והפיצו אותו מחדש אם חורג מקצה אזור המשחק. ראשית נוסיף כוח. צור Javascript חדש בלשונית Project וקרא לזה BallMover. לחץ על ערוך בכרטיסייה מפקח והחלף את הטקסט של הסקריפט החדש הזה ב:
function Start () {
rigidbody.freezeRotation = true;
תשואה WaitForSeconds (2);
rigidbody.AddForce (Random.Range(3, 5), Random.Range(3, 5) ,0);
}
function Update () {
transform.position.z = 0;
}
שמור אותו וגרור את הסקריפט של BallMover זה מהכרטיסייה Project אל האובייקט Sphere בלשונית ההיררכיה. אם תלחץ על שחק עכשיו כדי להציג את המשחק בתצוגה מקדימה, תראה את הכדור נע בכיוון אקראי בכוח אקראי (בין טווח). זה כמעט נגמר המשחק, אבל אנחנו רוצים להחזיר את הכדור אם הוא יוצא מאזור המשחק. אז לבסוף, מסרגל הכלים הראשי, עבור ל-GameObject>Create Empty. שנה את שם אובייקט המשחק החדש הזה "OutOfBounds" בלשונית ההיררכיה. עם האובייקט מודגש עבור Component>Physics>Box Collider ובכרטיסייה Inspector סמן את התיבה isTrigger. מקם את האובייקט הזה של OutOfBounds בקצה אזור המשחק, ושנה את ערך סולם ה-Y בלשונית המפקח לכ-12 או כל מה שמכסה את כל הצד. כעת צור JavaScript חדש בלשונית Project וקרא לו "RespawnBall". הוסף את הקוד הבא לסקריפט RespawnBall במקום כל מה שיש:
function OnTriggerEnter (אחר: Collider) {
other.transform.position = Vector3(0, 0, 0);
}
לבסוף, גרור את הסקריפט של RespawnBall זה מהכרטיסייה Project אל האובייקט OutOfBounds בלשונית ההיררכיה ולאחר מכן שכפל (ctrl+d) את האובייקט OutOfBounds והצב את העותק בקצה השני של אזור המשחק. שמור ותצוגה מקדימה של המשחק.
אם הכל עובד כמצופה, עבור לקובץ > הגדרות בנייה... ואז לחץ על הלחצן הוסף נוכחי בחלון הבנייה שצץ. ודא ש-WebPlayer מסומן ולחץ על Build. תקראו למבנה כל מה שתרצו. לאחר מכן Unity תייצא ותבנה את הפרויקט ובסופו של דבר יהיה לך דף אינטרנט שתוכל לפתוח בדפדפן ולשחק במשחק הפונג שלך.
הנה לך, פונג בפוסט. אתה יכול לתפוס את קבצי הפרויקט עבור הפונג הסופר מהיר הזהכָּאןכדי לבדוק את התאמת הגרסה שלךשֶׁלִי. אני רוצה לראות את הגרסאות שלך ואיזה שיפורים אתה יכול לעשות, אזלמה לא לפרסם את שלך בפורום?
עכשיו, מוטב שאפסיק להתמהמה ואמשיך עם Shotgunity...