סקראץ'
כפילים
סקראץ' מאפשרת לנו יצירת כפיל (רק בסקראץ' 2.0). כפיל הוא שכפול של דמות. זאת אומרת שיש לנו אפשרות ליצור דמות אחת, ואותה לשכפל, לא על-ידי שכפול עשרות דמויות, אלא תוך שימוש בכפיל.
לא תמיד זוהי האפשרות הקלה. לעתים קרובות אראה תלמיד משכפל דמויות, ולא אציע את האפשרות של כפיל, אבל כדאי להכיר אותה כי במקרים מסויימים זוהי האפשרות המוצלחת והקלה. בהמשך תמצאו דיון לקריטריונים - מתי כן להשתמש בכפיל, ומתי לא.
פקודות הכפיל
תסריט הדבורה
משחק המשתמש בכפילים לירייות, ול"אויבים"
פקודות כפילים
בפקודות הבקרה נמצא שלוש פקודות המטפלות בכפילים. "צור כפיל", אפשר לבחור אם ליצור כפיל של הדמות בה אנחנו יוצרים את התסריט, או כפיל של דמות אחרת, "כשאני מופעל ככפיל" -
זוהי למעשה פקודת אירוע. מה יעשה אותו כפיל שזה עתה נוצר? איזה פקודות הוא יבצע?, והפקודה האחרונה "מחק כפיל זה" - באיז תנאי או מתי ימחק הכפיל?
התבוננו בדוגמת הפרחים והדבורה:
תסריט הפרח יוצר כפיל כל 0.1 שניות עם שתי פקודות בלולאה - "צור כפיל של עצמי", ו"חכה 0.1 שניות". השתמשתי בלולאת "חזור עד שמקש רווח נלחץ" זה מאפשר לי לעצור את "ייצור הפרחים" בעזרת מקש רווח.
האירוע "כאשר נוצר כפיל" מפעיל את הפקודות "קפוץ אל מיקום כלשהו" ו"קבע גודל כלשהו" כדי לפזר את הפרחים הנוצרים במקומות שונים ובגדלים שונים על הבמה. הפקודה הבאה "חכה עד שנוגע בדבורה" גורמת לפרח לא לעשות כלום עד שהדבורה נוגעת בו, וכשהיא נוגעת בפרח מתבצעות הפקודות "נגן צליל", ו"מחק כפיל זה"
תסריט הדבורה מעיף את הדברה אקראית על הבמה (סיבוב אקראי). התוצאה - פרחים נוצרים כל הזמן (כל 0.1 שנייה) ונמחקים בנגיעה בדבורה.
תסריטי הפרח
מתי טוב להשתמש בכפילים?
הקריטריון החשוב בהחלטה האם להשתמש בכפיל או בשכפול דמויות הוא מה אמור לעשות הכפיל? אם התנהגות כל הכפילים היא זהה אז מומלץ מאד להשתמש בכפיל. כמו במקרה הפרח, או כמו במקרה היריות וה"אויבים" שמובא למטה. אבל אם צריך ליצור התנהגויות שונות - כאן מתחיל העניין להיות סבוך יותר, ולתלמידים יהיה קל בהרבה להשתמש בשכפול דמויות. למשל. הייתי יכול לחשוב
שאפשר לפזר נקודות לבנות ל"אכילה" במשחק פאקמן עם כפיל. הבעייה היא שכל עיגול לבן צריך מיקום אחר על הבמה. אם המיקום הוא אקראי (כמו בפרחים) אז ההתנהגות היא זהה, אבל במקרה העיגולים הלבנים אני רוצה לתת לכל עיגול מיקום מסויים שהוא שונה מעיגולים אחרים. כאן כבר מדובר במשימה מורכבת יותר, שלא כאן המקום לדבר עליו. עדיף לבחור בשכפול דמויות והנחת כל דמות במקומה.
יריות ו"אויבים"
תרגיל נוסף ומדליק. יריות של מכונת ירייה, ואויבים המופיעים בכמויות ומאיימים להשמיד את הבסיס.
התנהגות התותח
תסריט התותח
תסריט הירייה
התותח זז למעלה ולמטה עם העכבר. אין לו תנועה כלל על ציר ה-X, ולכן על ההתחלה הפקודה "קבע ערך X" מסכמת את טיפול התנועה בציר הזה.
הלבנה "תנועה" מחברת את מיקום ה-Y של התותח למיקום ה-Y של סמן העכבר. שני התנאים מגבילים את תנועת התותח על ציר ה-Y. אם סמן העכבר עולה מעבר ל 160 על ציר ה-Y בתותח יקבל את הערך 160 ולא יותר, ואותו דבר למטה 160-
התנהגות הירייה
תסריט ה"אויבים"
תנאי לסיום משחק
הייתי רוצה, שאם אחד האוייבים מגיע לקצה המשחק יסתיים בהפסד. זאת אומרת - במקום תנאי הלולאה "נוגע בקצה או נוגע בכדור" נשנה את התנאי ל"נוגע בכדור" בלבד, ובתוך הלולאה נוסיף את התנאי "אם נוגע בקצה" הפעל לבנה בשם "סיים משחק" המכילה את כל הפקודות הנצטרכות לסיום המשחק. במקרה הזה השתמשתי במשתנה "מתג". על המשתנה "מתג" תוכלו ללמוד במילון ההתנהגויות, בלשונית "עזרים"
את הירייה לא רואים עד שמפעילים אותה(במקרה הזה בעזרת החיישן "עכבר נלחץ?"), ולכן על ההתחלה אנחנו מסתירים את דמות הכדור.
כאשר העכבר נלחץ נוצר כפיל של כדור. ניגון צליל הירייה עד סיום מחליף את פקודת ה"חכה". הכפיל הבא יווצר רק כאשר הצליל יסתיים, וזה לוקח זמן. עוד על עבודה עם צלילים בשיעור אחר.
כאשר נוצר כפיל הירייה, הפקודה "קפוץ אל תותח" מביאה את הכדור לתותח. שימו לב. מיקום התותח הוא בנקודת הסיבוב של (פיווט). את נקודת הסיבוב ניתן לשנות בעורך התלבושות. כדאי להעמיד אותו בקצה התותח - המקום בו יוצא הכדור. על עבודה עם ציר הסיבוב תלמדו בפרק הקודם של עיצוב דמויות. פקודת "הצג", והכדור מופיע, לולאת "חזור עד שנוגע בקצה" משנה את ערך Y שלו בכיוון השלילי. כאשר הכדור נוגע בקצה הלולאה מסיימת את תפקידה ומתבצעת פקודת "מחק כפיל זה" שמשמידה את הכפיל.
התנהגות ה"אויב"
האויב מייצר כפיל כל 0.1-1 שניות. פקודת המדפר האקראי בפקודת "חכה" בוחרת מספר בין 1-10 ומחלקת אותו בעשר לקבל תוצאה עשרונית.
כאשר הכפיל נוצר הוא מתחיל בנקודה כלשהי על ציר ה-Y (למעלה, למטה, באמצע..., קובע תלבושת כלשהי (לדמות 5 תלבושות בצבעים שונים), פקודת "הצג" ותזוזה על ציר ה-X בכיוון החיובי עד שהוא נוגע בקצה, או בכדור (בחיבור תנאים עם "או" מספיק שאחד התנאים יתממש. בסיום הלולאה הדמות נעלמת ("הסתר"), משמיעה צלילה ונמחקת.
שינוי לולאת תנועת ה"אויב" המאפשרת סיום המשחק בנגיעת האוייב בקצה הבמה