אפשר לעזור? (שוב אני..)
תראה.. אני ינסה להסביר לך כאן את הבעיה בתכנית שלך: מה שקורה: -כשלוחצים על "למעלה" המוביקליפ מופעל מפריים 2. אז לוחצים למעלה וזה מפעיל את פריים 2. שוב לוחצים למעלה, אז הוא לא יכול להמשיך את המוביקליפ כי הוא צריך שוב לחזור לפריים 2,.. ושוב.. ושוב.. רק פריים 2! לכן, אנחנו צריכים בעצם לעשות דבר כזה: רק בלחיצה "למעלה" הראשונה, הוא יילך לפריים 2. ואז, בתוך המוביקליפ נוסיף בהתחלה ובאמצע פריימים ובם נוסיף את הקוד שאומר: עצור! אם לחצן "למעלה" לחוץ אז המשך! וכך, הלחיצה הראשונה על "למעלה" תפעיל את פריים 2 במוביקליפ והמוביקליפ ימשיך לרוץ... עכשיו,זה לא שהוא ממשיך בגלל הלחיצה על "למעלה", אלא, שהוא לא עוצר בגלל שיש לחיצה על "למעלה" - שים לב להבדל בניסוחים - בפקודות. כדי לבצע זאת, נוסיף משתנה קטן ונחמד לפריים הראשי: FirstUp. במקום התנאי שרשמת:
if (Key.isDown(Key.RIGHT)){
נוסיף דבר כזה:
if ((Key.isDown(Key.RIGHT)) && (!FirstUp)){ FirstUp=true; המשך הקוד.. }
( ! = הפוך , not ) ברגע שערכו של המשתנה FirstUp יהיה true (ואז התנאי הנ"ל לא יתבצע), המוביקליפ אמנם ימשיך להתקדם אבל לא בזכות התנאי הזה, אלא מתוך הקוד בתוך הפריימים (ההסבר נמצא למעלה) שאומר - לעצור! , אם יש לחיצה "למעלה" אז - המשך! כמובן, שברגע שאני אלחץ "למטה" אז אני צריך להחזיר את המשתנה FirstUp ל-False כדי שבלחיצה הבאה על למעלה, הוא יחזור לפריים 2. *בסופו של דבר, בהנחה שתשתמש ב-4 הכיוונים, יהיו לך 4 משתנים חדשים: FirstUp, FirstDown, FirstLeft, FirstRight .. מקווה שהבנת..