Browsed by
חודש: ינואר 2017

libGDX Scene2d tutorial – Part 2 – Splash Screen

libGDX Scene2d tutorial – Part 2 – Splash Screen

(חלק 1 נמצא כאן)

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

משהו כזה:

Splash Screen

כדי לעשות זאת, נשתמש (לראשונה) בספריית Scene2d.

Read More Read More

libGDX Scene2d tutorial – Part 1 – Loading Screen

libGDX Scene2d tutorial – Part 1 – Loading Screen

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

התחלה

ניצור פרוייקט חדש. אין צורך ב- Box2d או ספריות נוספות, scene2d מגיעה באופן מובנה בתוך libGDX.

המשחק שלנו יכלול 5 מסכים:

  • Loading – מסך טעינה, בו נטען לזיכרון את כל ה- assets הדרושים, כמו תמונות, קבצי קול וכו׳.
  • Splash – מסך ספלאש, בו נציג את הלוגו שלנו.
  • Menu – מסך תפריט ראשי, בו נציג את ממשק ניהול המשחק (כפתור להתחלת משחק, שיתוף וכו׳).
  • Play – מסך משחק, העיקר.
  • Game Over – מסך סיום משחק בו נציג את התוצאה.


Read More Read More

Konami Code

Konami Code

"קוד קונמי" (Konami Code) הוא ככל הנראה ה"צ'יט" (cheat) המפורסם ביותר בעולם משחקי המחשב.

מדובר על צירוף המקשים: למעלה-למעלה-למטה-למטה-שמאל-ימין-שמאל-ימין-האות B-האות A.

כלומר (משמאל לימין):

BA

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

אתרים רבים משתמשים ברצף הפעולות של קוד קונאמי כ- Easter Egg – הפעלה שלו תגרום למשהו לא צפוי באתר (נסו את Buzzfeed או את Digg. ויש דוגמאות נוספות)

קוד

זה הכל טוב ויפה, אבל איך עושים את זה?

אז ככה.

const pressed = [];
const secretCode = 'ArrowUpArrowUpArrowDownArrowDownArrowLeftArrowRightArrowLeftArrowRightBA';
const KonamiCodeLength = 10;

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

window.addEventListener('keyup', function(e) {
  console.log(e.key);
  pressed.push(e.key);
  pressed.splice(-KonamiCodeLength - 1, pressed.length - KonamiCodeLength);
  if (pressed.join('').includes(secretCode)) {
    console.log('Hooray');
    cornify_add();
  }
});

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

<script type="text/javascript" src="http://www.cornify.com/js/cornify.js"></script>

עד כאן הכל פשוט, זה סקריפט שמופיע באינטרנט בהמון וריאציות. אבל… אני רוצה להוסיף גם תמיכה במובייל. אני אוותר על המקשים B ו- A – נזהה רצף של 8 swipes בכיוונים שונים.

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

const gestures = [];
const gesturesCode = "uuddlrlr";
var lastX, lastY;
window.addEventListener('touchstart', function(e) {
  lastX = e.pageX;lastY = e.pageY;
}, false);
window.addEventListener('touchend', function(e) {
  if (e.pageY - 100 &gt; lastY) {
    console.log("down");
    gestures.push("d");
  }
  if (e.pageY + 100 &lt; lastY) { console.log("up"); gestures.push("u"); } if (e.pageX - 100 &gt; lastX) {
    console.log("right");
    gestures.push("r");
  }
  if (e.pageX + 100 &lt; lastX) {
    console.log("left");
    gestures.push("l");
  }
  gestures.splice(-gesturesCode.length - 1, gestures.length - gesturesCode.length);
  console.log(gestures);
  if (gestures.join('').includes(gesturesCode)) {
    console.log('Hooray');
    cornify_add();
  }
}, false);