CodeGym /בלוג Java /Random-HE /קטע חדש ב- CodeGym - משחקים
John Squirrels
רָמָה
San Francisco

קטע חדש ב- CodeGym - משחקים

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

1. איך לכתוב משחקים ב-CodeGym

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

2. תכונות מנוע המשחק

מגרש המשחקים מחולק לתאים על ידי מנוע המשחק. הגודל המינימלי הוא 3x3; המקסימום הוא 100x100. ניתן לצבוע כל תא בצבע מסוים ולכתוב בו טקסט כלשהו. ניתן גם להגדיר את גודל הטקסט וצבע הטקסט עבור כל תא. המנוע מאפשר לכתוב מטפלי אירועים עבור לחיצות עכבר ולחיצות מקשים. דבר מעניין נוסף הוא היכולת לעבוד עם טיימר. למידע נוסף בקטע "עבודה עם טיימר". מנוע המשחק "המובן מאליו" שלנו מאפשר לך ליצור משחקים מעניינים מאוד - משהו שתראה בעצמך. רוצה לנסות? לאחר מכן קרא את הפסקה הבאה והתחיל לכתוב משחקים.

3. גישה למשחק

כדי להתחיל לכתוב משחק, היכנסו למדור "משחקים" באתר CodeGym, בחרו אחד שאתם אוהבים, ועברו לעמוד שלו. קטע חדש ב- CodeGym - משחקים - 1 יהיה כפתור " כתוב פתרון " - לחץ עליו. קטע חדש ב- CodeGym - משחקים - 2ה-IDE של האינטרנט ייפתח. שם תתחיל לעבוד על תת-המשימה הראשונה של המשחק. יתרה מכך, המשימות המשנה של המשחק יהיו זמינות עבורכם ב-IntelliJ IDEA דרך הפלאגין. אם אתה משתמש ב-IntelliJ IDEA , תצטרך לעדכן את הפלאגין. אתה יכול להוריד את הגרסה העדכנית ביותר של התוסף כאן . לאחר עדכון התוסף, פתח את רשימת המשימות ובחר "Java Games Quest". קטע חדש ב-CodeGym - משחקים - 3לאחר מכן, לחץ על תת-המשימה הזמינה: מודול "משחקי ג'אווה" אמור להופיע בפרויקט שלך, והוא אמור להכיל את ספריית המנוע והקוד עבור המשימות המשימות שלך. אחרי זה, זה בדיוק כמו לפתור כל משימה אחרת. אתה יכול לכתוב משחקים ב-Web IDE או ב-IntelliJ IDEA, מה שאתה אוהב יותר. ובכל זאת, IntelliJ IDEA נוח יותר. ומקצועי יותר. הבחירה בידיים שלך.

4. פרסום משחקים לקטלוג האפליקציות

כשתסיים לכתוב משחק, תוכל לפרסם אותו בקטלוג "משחקים ויישומים" ב-CodeGym. כל שעליך לעשות הוא ללחוץ על כפתור "פרסום", ובתוך חצי דקה המשחק שלך יתווסף לקטע "משחקים שפורסמו". קטע חדש ב-CodeGym - משחקים - 4אם אתה רוצה לשתף את היישום שלך של המשחק עם חברים או עמיתים, שום דבר לא יכול להיות קל יותר. פשוט שלח להם קישור למשחק שפורסם, והם יוכלו לשחק. אין צורך בהרשמה ב- CodeGym. קטע חדש ב-CodeGym - משחקים - 5בתור היוצר, אתה יכול ליהנות ממספר הפעמים שאחרים משחקים במשחק שלך. בדיוק כמו מספר הצפיות ביוטיוב. יותר גדול יותר טוב.

5. התאמה אישית של המשחק

לאחר שסיימת לכתוב משחק, תוכל לשנות אותו. רוצה לשחק 2048 על לוח 5x5? לך על זה. אתה מתכנת - ויש לך מקלדת בהישג יד. שנה את המשחק איך שתרצה. אתה יכול להוסיף משהו חדש לגמרי. לדוגמה, ב-Snake, הנחש יכול להאט אם הוא אוכל תפוח טרי (תוך 5 שניות לאחר הופעת התפוח). יתרה מכך, התפוח יכול לשנות את צבעו מאדום לירוק, או להפוך לאגס. או אולי הנחש שלך אוהב ארנבות יותר מאשר תפוחים... בשולה מוקשים, אתה יכול לתת לשחקן חיים שניים או אולי פצצת אטום ש"מאירה" תאים ברדיוס של מספר תאים. אך זכרו, אם אתם עובדים עם קבצים או גרפיקה במשחק מבלי להשתמש במנוע המשחק, ייתכן שהמשחק לא יתפרסם בקטלוג האפליקציות. לא הכל ניתן להפעיל בדפדפן, אתה יודע.

6. תיעוד שימושי

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

7. בעיות נפוצות

יש לי לינוקס ואני משתמש ב-OpenJDK. כשאני מריץ את המשחק, המהדר נותן שגיאה:
Error:(6, 8) java: cannot access javafx.application.Application
  class file for javafx.application.Application not found
מה עליך לעשות? מנוע המשחק שלנו משתמש ב-JavaFX, אך הוא אינו מותקן כברירת מחדל ב-OpenJDK. אתה צריך לתקן את זה:
  1. בשורת הפקודה, הזן את הדברים הבאים:sudo apt-get install openjfx

  2. לאחר מכן, עבור להגדרות הפרויקט (ALT+CTRL+SHIFT+S) -> SDKs -> Classpath ולחץ על סימן הפלוס בצד ימין. בחר את הקובץ jfxrt.jar. הוא ממוקם ב-JDK המותקן בכתובת: <JDK_PATH>/jre/lib/ext/jfxrt.jar

  3. לחץ על אישור.

יש לי Java 11. אני לא יכול להריץ את המשחק. מה עלי לעשות? ל-Java 11 אין JavaFX. כתוצאה מכך, המהדר לא יוכל להדר את המשחק, ותקבל שגיאה כשתנסה להפעיל את המשחק. כדי לתקן את הבעיה, עליך להוסיף JavaFX לפרויקט:
  1. הורד את JavaFX Windows SDK בכתובת https://gluonhq.com/products/javafx/ .

  2. פרק את הארכיון שהורדת לכל תיקיה (רצוי בתיקיית lib של פרויקט המשחקים).

  3. פתח את IDEA.

  4. ב-IDEA, עבור אל קובץ -> מבנה פרויקט.

  5. בחר בכרטיסייה ספריות ולחץ על + -> Java.

    קטע חדש ב- CodeGym - משחקים - 6
  6. ציין את הנתיב לתיקיית javafx-sdk שנפרקה ובחר בתיקייה lib

    קטע חדש ב- CodeGym - משחקים - 7
  7. לחץ על אישור. לאחר מכן בחלון החדש, הוסף JavaFX למודול המשחקים.

    קטע חדש ב- CodeGym - משחקים - 8
  8. כעת אמורה להופיע ספרייה חדשה. לחץ על החל -> אישור.

    קטע חדש ב-CodeGym - משחקים - 9
  9. כדי להפעיל את המשחק בצורה נכונה, פתח את הרצה-> ערוך תצורה, והזן את הדברים הבאים בשדה אפשרויות VM:

    --module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
    קטע חדש ב- CodeGym - משחקים - 10
  10. לאחר מכן, עליך להוסיף את היישום בכרטיסייה זו. כדי לעשות זאת, לחץ על + -> יישום

    מדור חדש ב-CodeGym - משחקים - 11
    1. בחר את מודול המשחקים

    2. הזן את הנתיב למחלקה הראשית (במקרה זה - SnakeGame)

    3. הזן את אותן אפשרויות VM כמו בפריט 9.

    לחץ על החל -> אישור

    מדור חדש ב-CodeGym - משחקים - 12
  11. הפעל את המשחק.

הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION