libGDX 101

libGDX היא ספרייה ליצירת משחקים. כתוב את המשחק פעם אחת (Java) ותוכל להריץ אותו פחות או יותר בכל פלטפורמה אפשרית: Android, iOS, Windows, MacOS, Linux, Web Browsers וכן הלאה.

יש ל- libGDX כלים נוחים לעבודה, מנוע פיזיקלי, והכי חשוב – קהילת מפתחים (זו ספריית קוד פתוח). מה שמאפשר את התמיכה ב- cross platform, זה שהספרייה מבוססת על OpenGL – שקיימת עבור כל הפלטפורמות הנ״ל (בשביל לרוץ בדפדפן יש את המקבילה, WebGL).

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

יצירת פרוייקט

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

screen-shot-2016-09-14-at-10-55-28-am

נמלא את השדות כך:

Name: libGDX101

Package: com.yair.libgdx101

Game Class: LibGDX101

בשורה של ה- sub-projects נשאיר את התיבות איך שהן.

בשורה של ה- extensions נבטל את הבחירה ב- Box2D, מכיוון שלא נשתמש בדוגמא במנוע הפיזיקלי אז זה לא רלבנטי.

אחרי הלחיצה על Generate יווצר לנו פרוייקט Gradle במקום בו בחרנו.

Configurations

(אני משתמש ב- Android Studio, אפשר גם להשתמש כמובן ב- IntelliJ. אם אתם משתמשים (משום מה) ב- eclipse או NetBeans, המשך המדריך לא יהיה כ״כ רלבנטי עבורכם.)

נבחר File->New->Import Project, ואז נבחר את הקובץ build.gradle שנמצא בתיקייה הראשית של הפרוייקט שיצרנו. הטעינה הראשונית של הפרוייקט יכולה לקחת הרבה זמן. לא להיבהל, הכל בסדר.

אחרי שחיכינו בסבלנות, זה מה שנקבל:

screen-shot-2016-09-14-at-11-19-30-am

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

הפרוייקט מגיע by default עם קונפיגורציה עבור אנדרואיד. עבור שאר הפלטפורמות נצטרך ליצור אותן בעצמנו.

נתחיל עם desktop. האפשרות להריץ את המשחק ב- desktop היא אולי אחד היתרונות הגדולים של libGDX – היכולת להריץ במהירות על המחשב ולא לחכות שהמשחק ייטען על המכשיר אחרי כל שינוי קטן.

נלחץ על Edit configurations (מופיע בלחיצה על החץ שמשמאל לכפתור run).

בחלון שנפתח, לחיצה על + Add new configuration, ובחרו Application.

screen-shot-2016-09-14-at-1-27-00-pm

בשדות החדשים שהופיעו מלאו את הפרטים בהתאם למה שמופיע בתמונה:

desktop_config

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

עכשיו אפשר להריץ את הקונפיגורציה Desktop שיצרנו, וזה מה שתראו:

screen-shot-2016-09-14-at-1-28-28-pm

יפה.

נעבור עכשיו ליצור קונפיגורציה ל- HTML5.

נלך שוב ל- Add new configuration אבל הפעם נבחר Gradle:

screen-shot-2016-09-14-at-3-00-28-pm

ונגדיר את הקונפיגורציה כך:

screen-shot-2016-09-14-at-3-00-42-pm

בצורה הזו אנחנו נקרא לקובץ build.gradle של ה- html module, ונפעיל בו task בשם superDev.

נריץ את הקונפיגורציה שיצרנו. זה ייקח הרבה זמן. בסוף נראה בטרמינל הודעה: ״The code server is ready״. נתעלם מה- url שמופיע שם, ובמקום זה נלך לכתובת: http://localhost:8080/html. זה מה שנראה:

screen-shot-2016-09-14-at-2-59-43-pm

מה שנשאר עכשיו זה רק ליצור קונפיגורציה עבור iOS. זה אפשרי רק ב- MacOS.

אני מניח כאן שמותקן כבר ב- Mac שלכם XCode, ויש לכם apple developer certificate.

דבר ראשון אנחנו צריכים Plugin בשם RoboVM. נלך ל- Preferences -> Plugins, נלחץ על Browse repositories ונחפש את הפלאגין:

Screen Shot 2016-09-14 at 3.56.08 PM.png

אחרי ההתקנה והפעלה מחדש של Android Studio, ניצור קונפיגורציה חדשה מסוג RoboVM iOS:

Screen Shot 2016-09-14 at 3.59.52 PM.png

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

סיכום

זהו. יש לנו עכשיו פרוייקט שיכול לרוץ על כל הפלטפורמות. עכשיו רק צריך להתחיל לכתוב משחק (-:

בקרוב.

מודעות פרסומת

להשאיר תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s