[Powered by Google Translate] ZAMYLA CHAN: בסדר.
שלום לכולם, וברוך הבאים לWalkthrough 0.
Zamyla של השם שלי, ואני אהיה מוביל אלה
הדרכות בשנה זו.
בCS50, כל סט בעיה מלווה בהדרכה
לפי ניסע דרך להגדיר את הבעיה של השבוע, לדבר זה
דרך, לדבר איך להתחיל, לדון שונים
טכניקות, טיפים ועצות כדי לפרוץ את הבעיה להגדיר לתוך
כמה עקיצות לניהול.
אני גם ממש אשמח לענות על כל שאלות שאתה
יש על סט הבעיה.
בלי עיכובים נוספים, אני שמח שאתה כאן, בין אם אתה
כאן באדם או כוונון באופן מקוון.
בואו נתחיל.
>> אז p-סט הראשון בCS50 -
למעשה, אנחנו לא מתכוונים להיכנס להקלדה ומכונה
חומר קוד עדיין לא.
בעצם אנחנו הולכים להיות באמצעות Scratch, שהוא
תכנית שמאפשרת לנו לעשות קצת גרירה ושחרור
תכנות.
וכך למרות שאנחנו לא הקלדה, זה באמת מאפשר לנו
לחקור כמה ממושגי היסוד ש
אנו נשתמש בכל רחבי CS50.
עכשיו, חלק מהמושגים אלה
מופיע כאן בארגז הכלים.
מה שהייתי רוצה לעשות לכל הדרכה הוא להציג את כל מה שאתה
עם סט של כלים שאתה יכול להשתמש להדרכה.
וכן, אל תדאגו.
אנחנו נעבור על כל המונחים הללו וכל אלה
התיאוריות במהלך ההדרכה.
כעת, בין אם אתה בסופו תוך שימוש בכל הכלים הללו, או רק
חלק מהם, זה ממש טוב לדעת מה אתם מצוידים
עם כדי להיות מסוגל להתמודד עם בעית הסט.
>> אז בהתחלה, השפה הראשונה שאתם צריכים לדעת היא מה
ספרייט הוא.
אז כל חפץ או כל דמות, בין אם זה חתול כלב
או כדור, נקרא ספרייט.
וכך, אם אני רוצה, למשל, שני חתולים - אם הם
זהה -
אני צריך לעשות שני שדונים נפרדים בלגרד.
וכך יש לי השדונים תסריטים הקשורים בם.
סקריפטים הם בעצם מה שאתה הולך להיות בניין -
גרירה ושחרור - עם בלוקים שלך.
אז מה עושה תסריטים הוא סוג של לקבוע ולהגדיר, כיצד
ספרייט מתנהג.
שדונים הם לא בעצם רק תמונות, כי יש לנו
תלבושות הקשורים גם עם השדונים שסוג של
לקבוע מה נראה כמו ספרייט.
ואתה יכול לקבל תחפושת יותר מאחד לספרייט נתון.
>> אז בשלב מסוים במהלך תכנית השריטה שלך, כפי שנראה לי
מאוחר יותר היום במהלך ההדרכה, למעשה אתה יכול
לשנות את התלבושת של ספרייט כדי שזה ייראה גם
מעט שונה או שונה לחלוטין.
וכך יש שלוש דרכים ליצירת ספרייט בלגרד.
אחד, אתה יכול לצייר משלך בסריטות של
נבנה בעורך צבע.
אתה יכול להעלות התמונה שלך, השתמש באחת מהשריטות של מובנה
אלה, או, האפשרות האחרונה, לקבל ספרייט אקראי.
עכשיו, אם אתה מרגיש בר מזל במיוחד, אז
אתה מוזמן לנסות את מזלכם וליצור ספרייט אקראי.
>> אז כל השדונים מונחים על
השלב בלגרד.
השלב - אנו יכולים להתייחס אליו כמו הבד שלנו.
וכך כל השדונים מונחים על הבמה.
ושלב זה, מה שהיא עושה הוא מאפשר את כל השדונים
כדי לנוע עליו.
ובדיוק כמו שדונים, השלב יש גם תסריטים.
וכן תסריטים אלה, כדי למקם אותם על הבמה -
זה ממש שימושי, כשאומר, יש לך תסריט שלא
בדיוק נוגע לספרייט ספציפי אחד, אלא
נוגע לשדונים מרובים או רק, באופן כללי, משהו
שאתה רוצה לעשות.
אז אתה יכול למקם את התסריטים האלה על הבמה במקום, וכי
יהיה עיצוב קצת יותר טוב.
כעת, בזמן שאתה יכול להיות שדונים מרובים, זה טוב
קח בחשבון שאתה יכול להיות שלב אחד בלבד.
אבל גם יש להם רקע שלבים.
בניגוד לתלבושות, כמו שדונים לעשות, יש שלבים
רקע.
ושוב, אתה יכול להסיק משלך או להעלות משלך
תמונה שתשמש כרקע.
>> אז האם מישהו יש לך שאלות לפני שנמשיך?
אישור.
הרגש חופשי לקטוע אותי מה במהלך ההדרכה, ו
אני אשמח לענות על כל שאלות שיש לך.
אישור.
לכן, כאשר אתה מתחיל תכנית ספרייט שלך, מה אתה הולך
אין הוא שאתה הולך לחץ על הדגל הירוק.
אבל אם אתה לא מתחבר לשום דבר לבלוק הזה ממש
כאן, אז שום דבר לא באמת הולך לקרות.
כי, אתם מבינים, מה את הסקריפטים והשלב צריכים
לעשות בעצם יודע להגיב לאירוע -
זה מה שאנחנו קוראים להם, אירועים - הדגל הירוק
שהקליקים.
אז אתה צריך בעצם לצרף בלוקים לתלם ב
תחתית הבלוק שלחץ הדגל הירוק, ולאחר מכן
תכנית יודעת מה לעשות ואיך להגיב ל
הדגל ירוק שלוחץ עליו.
>> ובכן, מה שיבוא אחרי זה?
ובכן, יש לנו שפע של לוקים בלגרד לשימוש, ו
שם בשר, באמת, התכנית שלך הוא באלה
הצהרות.
וכך ההצהרות אלה הן נוחות
מאורגן על ידי צבע.
יש לך פעולות הקשורות לתנועה,
צליל, מראה, וכולי.
וכדי שתוכל לראות שתוכל לנווט ביניהם ב
כרטיסיות בתכנית השריטה שלך.
וכך, בעוד שיהיה לך דברים אחרים שנבנו סביבו,
מה הדוחות למעשה עושים היא בעצם אומר לי
שדונים או השלב כדי לעשות משהו.
בניגוד לסתם אומר, בסדר, כשאתה עושה את זה,
הצהרות למעשה מכילות בשר האמיתי שלו.
תניחו שאתה רוצה לבצע פעולה מסוימת בלבד, אומרים
אתה רוצה רק חתול לילל כאשר דבר מסוים קורה.
אנחנו יכולים לנצל את היתרון של Booleans, שלמדת ב
הרצאה אחת.
ולכן אלה הם ביטויים שהערכה ל
אמת או שקר.
ולכן אלה מזוהים בלגרד על ידי -
אתה רואה את הזוויות בהסוף של גושים.
ואז יש לך מגוון רחב של סוגים שונים של Booleans.
יש לך "הוא שלחץ הכי למטה", "עושים 2 ועוד 2
שווה ל 5, "או" הוא המשתמש לוחץ על מקש מסוים
המקלדת? "
>> עכשיו, אתה לא יכול פשוט להשתמש אלה לבד.
מה שאתה צריך לעשות הוא לשלב אותם עם מצב.
אז המצב שם תחת לשונית השליטה בגרד.
וכך הם נוחים לי מציינים מיקום שמעט
מראה את הצורה של הבלוק שאתה צריך לשים אליו.
אז תלוי בהקשר של המצב, אתה יכול לבחור
וליאני ולאחר מכן למקם אותו בתוך המצב שלך.
ויש לך את הצהרה מותנית.
אם אתה שם את הדברים בתוך שהבלוק, אז יש לך
מבנה הוקם, לפיה פעם במצב מסוים הוא פגש ב
השמאל, שלאחר מכן לבצע את ההצהרה.
כן?
>> תלמיד: אם משתנה מייצג מספר, אתה יכול
להשתמש במשתנה בתוך וליאני, כמו זו הירוקה,
לדוגמה?
ZAMYLA צ'אן: כן, אתה יכול.
אתה יכול לגרור ולשחרר את הערך משתנה בתוך
מעגלי לעצב שם.
>> עכשיו, אחד מהיתרונות של מחשבים הוא הכח העצום
ומהירות שבה הם יכולים להפעיל תהליכים חוזרים ונשנים.
וכך, במקום, יניח, חוזר על הוראה
ושוב ושוב ובעצם להקליד את זה - או
במקרה זה, בלגרד, גרירה ושחרור ו
גרירה ושחרור -
מה שאנחנו יכולים לעשות הוא לתמצת אותו בלולאה.
וכך, לולאות יכולות לשמש גם לביצוע דברים
אינסוף עם לולאה לנצח, או ל
נקבע מספר פעמים -
אומר, חזור "להגיד שלום" 10 פעמים, או עד מסוים
המצב נכון.
וכך שוב, אתה רואה שגרד רומז כי כאשר
יש לך מצב כמו "לחזור עד", אז רק
דבר שיוכל להיכנס לשם הוא ערך בוליאני.
בסדר.
>> אז עכשיו, אנחנו יודעים שאנחנו יכולים לתמצת חוזרים
בתוך תהליכים של לולאות.
אתה יכול להבין למה דבר כזה לא יכול להיות אידיאלי.
זה לא מתאים בשקופית.
בעיקרו של דבר, זה פשוט עושה את אותו הדבר שוב ושוב
10 פעמים, למעשה.
הוא נע 10 צעדים, אומר שלום, נע 10 צעדים, אומר שלום.
אז עכשיו אתה יכול לראות שברגע שיש לנו לולאות, משהו כמו
זה הרבה יותר טוב.
זה קצר, זה קטן יותר, וזה ממש משלים
אותו דבר.
עכשיו, בגרד זה לא יכול לעשות הרבה הבדל, אבל
זה ממש חוסך לך זמן.
>> אז על הביטוי משתנה -
למעשה אתה יכול להשתמש במשתנים ולשים אותם בתוך
תנאים.
כפי שהיא מתבטאת ממש שם, אתה רואה שיש לנו משתנה בשם
"נגד", ואנחנו משווים את זה כדי לראות אם
זה פחות מ 0.
אז משתנים בעצם, היינו אומרים,
מכולות לערכים.
בלגרד, אלה סוגים של ערכים יכולים להיות מילים או
הם יכולים להיות מספרים.
וכך, עם המשתנים הללו, מה אנחנו יכולים לעשות איתם הם
ניתן להגדיר את ערכם.
כך שבדוגמא הראשונה כאן, יש לנו את הדוגמא של טקסט
המכיל את הערך "שלום, העולם!" בדוגמא השנייה,
הוא הניח שכבר יש לנו משתנה בשם
"נגד", ובמקרה כזה, אנו משנים אותו על ידי 3.
אנחנו הגדלתו על ידי 3.
ואז בדוגמא האחרונה, משתנים יכולים להיגרר
כדי לשים בביטוי בוליאני.
>> עכשיו, כשאתה יוצר משתנה, מה יש לך
להחליט הוא אם אתה עושה משתנה לכל
שדונים בתכנית השריטה שלך, או לסתם
פרטי ספרייט שבבחרת שכשאתה עושה
משתנה.
ולכן זה החלטה חשובה מאוד לעשות.
וזה באמת מסתכם למה שאתה רוצה היקף
משתנה שיש.
כך למשל, דוגמה להיקף מקומי תהיי אם
לבחור רק לספרייט זו כדי שמשתנית.
אז זה אומר שרק ספרייט שיוכל
לגשת למשתנה זה.
רק ספרייט שיהיה מסוגל לראות את זה,
לשנות אותו, לשנות אותו.
אם אתה בוחר להיות היקף גלובלי -
אז זה אם אתה אומר לכל השדונים, אם
תבחר באפשרות ש--
אז זה אומר שהבמה כמו גם את כל השדונים
תוכל לראות, לשנות, ולגשת למשתנה ש
שיצרת.
כל שאלות עד כה במשתנים או כל דבר?
כן.
>> תלמיד: למשתנים, ניתן לך שני משתנים של
אותו שם אם הם בשדונים שונים?
ZAMYLA CHAN: כל עוד הם שדונים מקומיים ---
אה, כן, מצטער.
אז השאלה היא האם אתה יכול לקבל שני משתנים של
באותו השם בתכנית ואם יש לך שני משתנה עם
באותו השם, אבל הם שני השדונים המקומיים, כך ספרייט אחד,
החתול, יש לו "דלפק," שם משתנה וספרייט שתיים,
כלב, יש משתנה בשם "דלפק," כל זמן שאנשים
הם שני השדונים המקומיים, ולאחר מכן את היקפם אינו משתרע על
שאר התכנית.
וכך אף אחד מהדמויות המונפשות האחרות או
שלב יהיה להתבלבל.
בסדר.
>> לכן הזכרתי לפני נקודת הכניסה כאשר היו לנו
כאשר בלוק ירוק מסומן לחץ.
ואז מה שהוא -
זה אומר, בסדר, כאשר האירוע קורה שהדגל הירוק הוא
לחץ, זה מה שאתה צריך לעשות.
וכך הוא בעצם לא האירוע היחיד
שיש לנו בהתחלה.
יש לנו גם אירועים אחרים.
אז יש לנו, למשל, כשמקיש על מקש
המקלדת נלחצה.
ואתה באמת יכול לבחור את אותיות A עד Z, ​​0
עד 9, או במקשי החצים.
ואז יש לנו גם אירועים אחרים, כגון כאשר
ספרייט הוא לחיצה.
ולכן כאשר אתה מתחיל עם זה, אתה מבחין במגמת המפתח
הוא שיש להם רק חריץ בתחתית, וכך
אז, שוב, המפתחות שבשום דבר לא מתחברים לעיל
שהבלוק.
אתה בונה מזה ולמטה.
>> עכשיו, למשל, מה קורה אם אנחנו רוצים שאירוע שיקרה רק
, אני לא יודע, כאשר חתול נוגע לחלק מסוים
שלב או משהו כזה?
אנחנו למעשה אין לי מובנים ב
אירוע למקרה בי.
אז מה יהיה לנו לעשות הוא בעצם ליצור האירוע שלנו.
וזה נקרא שידור.
לכן, כאשר אתה רוצה לאותת שבטוח לא קרה,
אז אתה משתמש - בכרטיסיית השליטה, יש בלוק שנקרא
"לשדר". ואם כך, תוכל להקליד את שמו של
אירוע שברצונך לשדר, ולאחר מכן לפי
ספרייט או שדונים -
אתה יכול לקבל מספר רבים של שדונים מגיבים להודעה זו -
או השלב יצטרך להתמודד עם זה, יצטרך
לקבל את זה, יש לך לומר, בסדר, אני מבין שיש לכך
קורה, אז אני הולך לעשות את זה איתו.
ולכן בכל פעם שאתה לשדר אירוע, זה עם
הבנה כי גם שספרייט או ספרייט אחר הוא
יצטרך לקבל אירוע ושלהגיב.
>> עכשיו, שעבר מושג לפני שאנחנו נכנסים לדוגמה בפועל
של תכנית שריטה הם אשכולות.
אשכולות כך הם כאשר המחשב שלך ביצוע
תהליכים בו זמנית באותו הזמן.
אני מבטיח לך שכולנו נצלתי
אשכולות כאשר אנו צופים בסרט באותו הזמן כ
הקלדת מאמר או משהו כזה.
המחשב מבצע כמה דברים באותו
פעם, כמו גרד יכול.
אז כפי שאתם יכולים לראות בדוגמה זו, שני התסריטים הללו יכולים
לשמש בדיוק באותו ספרייט, כי אלה
מתחיל לוקי נקודת כניסה בעצם יכול להשתמש
כפולות של פעמים.
אני מבטיח לך שכנראה את הדגל הירוק לחץ בלוק
תהיה אחת הפופולרי ביותר
לוקים בתכנית שלך.
אז הנה אנו רואים שכאשר הדגל הירוק לוחץ, יש
תהליך קורה, כמו גם כאשר הדגל הירוק הוא
לחץ, יש תהליך נפרד קורה.
וכך הגרד יפעל שני אלה באותו הזמן.
וזאת באמצעות הנושאים האלה, בידיעה שאתה יכול למעשה
יש נקודת כניסה יותר מפעם אחת -
גם אם זה אותו דבר נקודת הכניסה -
זה הולך להיות ממש שימושי אם אתה רוצה, למשל,
להפריד בין משימות שונות זו מזו.
בסדר.
אז בואו באמת נראים לדוגמה לתכנית מאפסת.
>> אישור.
אז אני כבר עשיתי תכנית קטנה עבורנו כאן.
אז אני פשוט הולך לחץ על הדגל הירוק להתחיל ולראות
מה היא עושה.
אז יש לנו דגים כתומים כאן -
ספרייט דגים -
נראה שתזוז ואז לאפס ולחזור.
ואז יש לנו ספרייט כריש.
וספרייט כריש זה יכול לזוז, זה יכול לסובב, זה יכול
לשחות.
אישור.
אז זה סוג של כיף.
אבל אנחנו בהחלט יכולים להוסיף יותר לזה.
לדוגמה, אנו רואים שכאשר הכריש נע, זה יכול
ממש מקבל את המסך וכמעט
להיעלם מעין.
אז אנחנו רוצים לשנות את זה, כי אנחנו לא רוצים
כריש להימלט.
ואז בואו נפסיק הסקריפט ולאחר מכן לערוך את הכריש
תסריטים, אולי להוסיף משהו.
שים לב שבספרייט המסוים הזה כאן, הלולאה לנצח
מסתיים בקצה ישר.
זה לא חייב כל חריץ.
אז למעשה זה הגיוני, כי זה לולאה לנצח.
זה ביצוע משהו אינסופי.
אז זה לא ייגמר.
גם אם יש משהו מתחתיו, היית
אף פעם לא יגיע לזה.
אז אתה בעצם נאלץ להציג את נושא.
>> בסדר.
אז בואו נוסיף תסריט אחר.
אז אני הולך להתחיל עם נקודת פתיחה זו של מתי ירוק
דגל הוא לחיצה.
אז מה שאני רוצה לעשות הוא לבדוק אם ברציפות
כריש הוא הולך להיות נוגע בקצה.
אבל אני יודע את זה, למעשה, תחת תנועה יש מסודר
בלוק קטן שאומר, או, אם על קצה, להקפיץ.
אז מה שאנחנו רוצים לעשות הוא לבצע ברציפות.
אז מה זה "אם על קצה, להקפיץ" עושה - זה בעצם
כבר בודק אם אני על הקצה, ואז להתאושש.
אז אנחנו צריכים למצוא איזה סוג של לולאה ברציפות
לבצע את ההצהרה הזו.
אז אם אנחנו מסתכלים תחת בקרה, למישהו יש רעיון
מה לולאה שייתכן שתרצה להשתמש?
כן.
>> תלמיד: הלולאה לנצח.
ZAMYLA CHAN: בדיוק, כן.
הלולאה לנצח.
אז בואו לעקוב אחר זה כאן, ואז אומר, אם על קצה, להקפיץ.
ואז נראה.
בסדר.
אז הדגים נעו כרגיל.
ואז, הו -
עכשיו הכריש לא יכול לברוח וקופץ מהמסך.
מגניב.
בסדר.
אז אני מסתכל פנימה
אני לא יכול - כן?
>> תלמיד: איך אתה עושה מה שמתאים לכריש כפי שהוא נע
לדגים?
ZAMYLA צ'אן: אה.
אז הסיבה יחידה שהכריש קופץ, לעומת
דגים, כמו גם, בגלל זה סקריפט שכתבנו נמצא
ספרייט הכריש.
אתה רואה, כאן למעלה, ספרייט הכריש נבחר.
בסדר.
אז בואו נוסיף משהו אחר.
אני מנסה לחקור על תלבושות השונות ש
שריטה יש, וראיתי כרישי chomp הקטן והחמוד הזה.
אז חשבתי ש, היי, טוב, אולי תוכל ליישם
כריש לועס, לדוגמה, כאשר אנו לוחצים חלל.
אני רק הולך לעצור את זה.
בסדר.
כן.
>> תלמיד: אתה יכול רק להראות - הוא שתחת תחפושות?
ZAMYLA צ'אן: הו, כן.
אז הלכתי בתחפושות, ולאחר מכן הסתכלתי מתחת יבוא.
וכך כאן, שריטה יש מערך שלם של תלבושות ש
אתה יכול לבחור.
וכן אז יש חבורה שלמה של בעלי חיים, ולאחר מכן
כריש יש כמה תלבושות הקשורים אליו.
אישור.
אז בסקריפט זה כאן, אני כבר בודק ברציפות
בלולאה לנצח, בסדר, טוב, אם על החץ השמאלי נלחץ,
אז אני רוצה לסובב נגד כיוון שעון.
אם החץ הימני נלחץ, ואני רוצה לסובב בכיוון שעון.
אם החץ למעלה נלחץ, ואז
רוצה להתקדם קדימה.
אז מה אנחנו יכולים לעשות הוא פשוט להוסיף לתסריט הזה, במקום
הוספת 1 נפרד, כי זה כבר בבדיקה
הנושא של אילו מקשים שנלחצו.
>> אז בואו נוסיף אחד שאומר שאם מקש הרווח - בואו להשתמש
מקש רווח לנשוך כלפי מטה.
, וכולי אז אלה חץ שמאלה מפתח לחץ, אלה
בכחול הבהיר.
אז בואו נלך לחישה הכחולה הבהירה, ומסתכל למטה.
אה, וכאן הוא מרחב מפתח לחץ.
אז מה שאנחנו רוצים לעשות הוא צריכים לעבור לכריש שלה
לועס את התחפושת.
שיש לו לעשות עם כמה הכרישים
נראה, אז אנחנו חוזרים למראה.
וכאן יש לנו, בנוחות, לעבור
תחפושת כריש לנשוך.
אבל כאשר אנחנו chomp למטה, אנחנו לא רוצים להיות הכריש
הוא נשך לנצח, אז בואו נוסיף, בסדר, גם אז,
לאחר שלועס, אנחנו רוצים אותו כדי לחזור חזרה.
אוקיי, אז בואו נראים מה זה עושה.
אז יש לנו אותו מסתובב.
אישור.
אז יש לנו אותו לועס.
זה במהירות כי זה סוג של מכרסם, כי בהתחלה,
זה להוציא אותם להורג באופן מיידי.
אז, בואו נלך לבקרה ולהפוך אותו מעריך אותו
צ'ומפ, חכה שני.
והנה זה לועס את עוד קצת לפני שהוא הולך
גיבוי לרעב שלו.
>> אישור.
אז אני די מרוצה מהכריש עכשיו.
אבל הדג, מה שזה נראה שהוא עושה - היא מתקדמת
כמה צעדים, למעשה, חמש פעמים.
הוא נע 50 צעדים.
ואז מה הוא עושה כאן בבלוק העליון הזה כאן הוא אני
אומר, בסדר, טוב, זה הולך לצאת לערך מסוים של x.
כדי למצוא את הקואורדינטות, למעשה אתה יכול פשוט עכבר מעל
המסך, ולאחר מכן בתחתית -
ממש כאן -
זה יראה לך מה את הקואורדינטות הן.
אז אתה יכול לנצל את זה לתשומת הקואורדינטות
שאתה רוצה.
ומה בכך הצהרה זו כאן מדברות הוא אומר, בסדר,
כן, הדגים מתחילים בערך של x מסוים ולאחר מכן
גובה שלו יכול להשתנות.
בעצם אני הולך להרים גובה אקראי שעדיין נשאר
במסגרת המגבלות של הבמה.
וכן כאן, מה שאני מנצל אותו
לשדר אירועים.
אז אתה רואה שמטפל באירועים זה fish1 החדש.
אז בכל פעם שהדגים מקבלים fish1 אירוע החדש, זה יהיה
לבצע את זה.
ואז אתה רואה שאחרי שהוא נע קדימה הסכום הקבוע שלה
של פעמים, ואז זה בעצם משדר
שוב, בסדר, fish1 החדש.
אבל במקום זה, מה דעתך על בואו לעשות את זה כך שרק הדגים
ממשיך עד לסוף המסך לפני שהוא מתאפס,
במקום רק סוג של הולכים למרכזו.
אז במקום לומר, חזור חמש פעמים - כי אנחנו לא
באמת יודע כמה פעמים תהיה צורך עד שהוא
מגיע לקצה של המסך, בואו להשתמש במשהו אחר.
>> אז אני הולך להפריד את זה, בגלל שאנחנו
לא באמת רוצה את זה.
כדי למחוק בלוקים בלגרד, מה שאתה עושה הוא שאתה פשוט לגרור
זה מהשמאל, השחרור, ואז זה נמחק.
אם תחליט שאתה לא רוצה לעשות את זה, אז אתה יכול
תמיד לבטל מחיקה שלו.
אבל אנחנו רוצים להיפטר מזה.
מה שאנחנו רוצים לעשות הוא שאנחנו רוצים להמשיך הלאה ו50 צעדים
השהיית שנייה אחת עד שניגע בקצה של המסך.
אז מישהו יכול לזהות לולאה שאולי רוצים להשתמש בזה
חוזר על תהליך עד שאנחנו פשוט לגעת במסך.
>> סטודנטים: חזרו עד.
ZAMYLA צ'אן: שמעתי "לחזור עד", וזה נכון.
אז כן, חזור על פעולה זו עד שהבלוק גם לוקחת -
אבל אנחנו רואים שזה חוזר עד בלוק הוא לא ממש
מלא, נכון?
אז אנחנו צריכים לומר, טובים, בסדר, חזרו עד מתי?
אז אנחנו אומרים, בסדר, טובים, לחזור עד שהדג נוגע
קצה של המסך.
ואז אני אגיד לך את זה, כי הוא תחת חישה.
יש וליאני המרגש הזה.
וכדי שתוכל לבחור כאן את מה שאתה רוצה להיות הבדיקה
שהדגים נוגעים ללב.
אז הנה, אנחנו רוצים לומר נוגעים בקצה.
ואז אנחנו רוצים להוסיף את זה בחזרה פנימה
ועכשיו, אם אנו צופים בדגים שלנו ילכו, ברגע שהיא נוגעת
קצה, זה לחזור שוב.
בסדר.
אז אני שמח עם זה.
ובואו פתוחים HungryShark1.
>> בסדר, כמו סוג של תכנית בישול, הוספתי קצת
תכונות נוספות.
כך למשל, אתה רואה שדגים עכשיו הוא למעשה
גלש בצורה חלקה למדי, בניגוד לקודם, כשזה היה
סוג של העברה ולעצור, לנוע ולעצור -
למעשה פשוט קופץ פיקסלים שנקבעו.
הסתכלתי מתחת תנועה, מצאתי הצהרת הגלישה הזה, ואני
אמר, בסדר, במקום פשוט לנוע ולעצור, נע
ולעצור, אני הולך לגלוש 70 יחידות ימינה,
אבל להישאר באותה תנוחת y שלי כאן.
בסדר.
אז יש לנו כרישים שיכולים לנשוך.
מגניב.
אבל זה נקרא HungryShark, אחרי הכל, אז בואו יש לי
כריש יאכל את הדגים.
>> אז איך ייתכן שאנחנו אומרים לי דגים או לספר את הכריש שיש לו
chomped למטה?
איך ייתכן שתקשורת בינינו?
כן.
תלמיד: בתלבושת השנייה של הכריש,
הוא תופס את הדגים.
ZAMYLA צ'אן: כן, בדיוק.
אז אנחנו יודעים שכאשר אנו עוברים לתחפושת
צ'ומפ, צ'ומפ שיש לנו למטה.
עכשיו, סופנו צריך לבדוק.
אומר שאנחנו רוצים את הדגים להיעלם ברגע שלה אכל.
יהיה לנו איכשהו לתקשר לדגים ש
תהיה לו מה להסתיר, למשל, או להיעלם מן
מסך פעם אחת זה כבר תפס בשיניו על.
>> אז איזה סוג של רעיון, איזה סוג של כלי אפשר להשתמש כדי
לתקשרם כריש לדג, בסדר,
אני chomped למטה?
תלמיד: שידור.
ZAMYLA צ'אן: כן, בדיוק, שידור אירוע.
אז בואו נלך לקונטרול ויניחו שידור.
ובואו לשדר לנשוך.
בסדר.
אבל ברגע שאנחנו משדרים משהו, זה עם
הנחה שאנחנו באמת הולכים להיות משהו
לקבל אותו.
וכך זה הולך להיות הדגים.
אז תניח, כשאני מקבל לנשוך.
עכשיו, כאשר כריש chomp למטה רק חלל ריק, אנחנו לא
רוצה דגים להגיב לזה בכלל.
אז תניח, בסדר, טוב, רק אם הוא נוגע כריש
דגים בעת chomp -
זה הרגע שבי אנחנו בעצם עושים משהו.
אז, אנחנו הולכים להשתמש בתנאי אם, ימינה,
משום שאנחנו בודקים אם משהו הוא אמת או לא.
אז אם אנחנו חוזרים לחישה, אז אנחנו יכולים
משתמש כאן, אם נוגעים ללב.
והנה, אנחנו נבחר את הכריש.
לאחר מכן, תחת נראה, בלוק להסתיר את זה -
כי בעצם יעשה הדגים נעלמים מהבמה.
אנחנו נעשה את זה להסתיר, אבל אנחנו רוצים דגים אחרים, נכון?
הכריש שלנו הוא רעב.
אנחנו רוצים לתת לו יותר דגים.
אז בואו גם לשדר דגים חדשים שוב.
אישור.
אז בואו לראות מה זה עושה.
>> מגניב.
אז זה לועס למטה ודגים אחרים מופיעים.
אבל זה קצת מהיר מדי בשביל דגים אחרים ללכת אליו.
אז בואו רק חכו שני לפני שאנחנו
לשדר דגים חדשים.
בסדר.
אישור.
אז זה קבלה די טובה של משחק.
אבל כל המשחקים צריכים ציון, נכון?
אז מה אנחנו יכולים להשתמש כדי לשמור על תוצאה?
כן.
תלמיד: אחר -
ZAMYLA CHAN: כן.
בדיוק.
כן.
אז אל רוצים לעקוב אחר בעצם איך
דגים רבים הוא אכל.
כדי לעשות זאת, יצטרך לעשות משתנית.
בואו נקראים ציון ש.
ולכן יש להניח, שכן מדובר במשחק שאנחנו משחקים,
אנחנו הולכים רוצים דגים כדי להיות מסוגל -
אומרים, ברגע שאכלתי הוא יכול להגדיל את הניקוד או
משהו ואז השלב יהיה כנראה צריך לעשות
משהו עם הכאב גם כן.
אז אני הולך לבחור לעשות משתנה גלובלי זה ואומר
לכל השדונים.
אישור.
לכן, כאשר אנחנו רוצים להגדיל את הציון?
כאשר דגים כבר אכל.
וכך כבר יש לנו כאן תהליך שגורם לכל
עם הדגים נאכלו.
אז בואו נוסיף משפט זה כאן -
שינוי בציון של 1.
מגניב.
אז ברגע שאתה אוכל דגים, עליות ציון.
>> בסדר.
אז אומר שאני עייף של המשחק הזה.
אני עוצר.
ואז, הו, אני רוצה לחזור למשחק.
אני רוצה להתחיל משחק חדש.
ובכן, התוצאה היא עדיין 3, למרות שאני
משחק חדש.
אנחנו לא באמת רוצים להבקיע מעולם לאפס, נכון?
אז בואו להוסיף הצהרה בסיום המשחק החל ב
במה ואמרו, טוב, בסדר, אנחנו רוצים לאפס את הניקוד.
אז הנה אנחנו קבענו את התוצאה משתנית ל 0.
ועכשיו, בכל פעם שאתה מתחיל משחק, הציון
יתחיל ב 0.
מגניב.
אישור.
אז עכשיו, בואו נלך על HungryShark2.
>> אז עשיתי קצת יותר עכשיו, ומה שעשיתי הוא
לחץ ממש על ספרייט הדגים.
רציתי יותר דגים, ואז אני לוחץ כפול וזה גרם
ספרייט זהה לזה אחת וגם חדש שהועתק בכל
תסריטים גם כן.
אז fish2 זו היא למעשה זהה ל
fish1, למעט במקום להתחיל בצד השמאל ו
התקדמתי בצורה נכונה, זה מתחיל בימין והמהלכים שנותרו.
ואז גם אני בחרתי תחפושת חדשה עבורו.
ואז מצאתי תחפושת אחרת שהיה דג מנוקד, ואני
הייתה כמו, מגניב, זה נראה רעיל, אז בואו נעמיד פנים
כי מדובר בדג רעיל.
ואז אמר, בסדר, טוב, במקום לאכול
דג רעיל ושיש להגדיל את הציון שלך, אני באמת
רוצה אותו לרדת.
אז הנה יש לנו ניקוד יורד עד 1 בכל פעם
כריש אוכל אותו.
ואז, אני באמת אהבתי את התלבושות שלגרד
בתנאי, ואני הסתכלתי ואז מצאתי את shark's -
זה נראה כמו כריש חולה.
ואז התחיל לערוך אותו אני עשיתי את זה ירוק.
ואני הייתי כמו, מגניב, זה כריש חולה.
בסדר.
>> אז בואו בואו נוסיף לתסריט שלנו איזה דרך של עשייה
מתג כריש בלהיות חולה כל פעם שהוא
אוכל דגים מורעלים.
אישור.
לכן, מאחר שהעתקנו את כל התסריטים המקוריים משלנו
דגים לדגי הרעל, זה כבר יש ספרייט זה כאן
שאומר, כשאני chomped למטה, אני
למעשה chomped למטה?
אז אנחנו יכולים לנצל את זה כדי לתקשר
כריש, הו, כן, אתה פשוט אכלת דגים מורעלים.
אתה חולה.
וכך זה יהיה איזה סוג של פעולה?
מה יהיה רוצה לעשות?
לשדר.
כן, בדיוק.
אז בואו שידור.
בואו נקראים לה כריש חולה.
אישור.
אז עכשיו, הכריש, כמובן, הולך להיות מי שהוא
קבלת אירוע זה.
אז בואו נוסיף כשאני מקבל את הכריש להיות חולה.
אישור.
אז אנחנו יודעים שיש לנו את התלבושת הזו -
הכריש הוא חולה.
ואז אנחנו יודעים מהעבר שהסוג מעריך
כאשר אנו יכולים להשהות קצת לפני המעבר בחזרה.
כן?
>> תלמיד: איך אתה להעתיק מתסריט
ספרייט אחד למשנו?
ZAMYLA צ'אן: אה.
אז במקרה הזה, כשאני פשוט משוכפל ספרייט, כדי
להעתיק סקריפט אחד ספרייט אחר, מה שעשיתי כאן היה
רק אומרים כפול, וזה ממש עשה כל חדש
ספרייט עם כל התסריטים כלולים.
אבל תניח שאתה רוצה פשוט להעתיק תסריט מסוים אחד למשנו
ספרייט, אז מה היית עושה הוא בעצם פשוט לגרור את זה,
העבר את העכבר על תסריט אחר, והנה עכשיו היא המשוכפלת.
במקרה זה, זה כבר היה לו, ולכן אנחנו יכולים פשוט למחוק
זה שוב.
אבל להעתיק סקריפט אחד למשנו, מה שאתה עושה הוא פשוט
גרור את קובץ התמונות האחר.
אישור.
>> אז אנחנו שוב בכריש להיות חולה.
כריש אז זה קבל הוא חולה, וזה אומר, בסדר, טוב,
פעם אחת נמאס לי, אני הולך לעבור לתחפושת שלי שאומרת
"כריש חולה," ועכשיו, בואו פשוט להוסיף להמתנה
מעריך הירוק.
ואז אנחנו הולכים להיות שוב רעבים, ולכן אנחנו יכולים פשוט
לעבור בחזרה לכריש שהוא רעב.
בסדר.
אז בואו לאכול הדגים הסגולים הזה.
זה בסדר גמור.
שאלה טובה.
מה קרה לדלפק?
אישור.
אז אנחנו צריכים להגדיר לציון 0 כאן, אבל זה ציון - מה
הסימון הזה עושה הוא שהיא מסתירה או מבטלת הסתרה משתנית
מהמסך.
אבל מה אנחנו יכולים לעשות במקום ביטול סימון או בודק את זה -
אנחנו באמת יכולים להיות הבלוק הזה כאן אומר "להציג או להסתיר
משתנה. "אז בואו נוודא שכל פעם שאנחנו מתחילים
המשחק שהמשתנה שמוצגת.
>> אישור.
אז עכשיו משתנה מוצג.
אנחנו אוכלים דגים מורעלים, ואנו נעשים חולים.
מגניב.
בסדר.
אז עכשיו, שזה מוזר למשחק שיהיה לנו שלילי
נקודות, נכון?
אז הוא שומר על אכילה אלה וזה כמו -
אז איך בכל פעם שאנחנו מקבלים על שליליים, אם אכלנו יותר מדי
דגים רבים רעילים, משחק נגמר - הכריש הוא חולה מדי.
בסדר.
אז מה אנחנו צריכים לעשות זה אנחנו נצטרך
לשדר מאורע כלשהו -
משחק נגמר.
אז אנחנו יכולים לעשות את זה כמה דרכים, למעשה.
שנהיה לנו מקום בשלב תסריט ש
ברציפות בדיקות הן הציון שלילי?
האם הציון שלילי?
אם כן, אז אנחנו משדרים את האירוע הזה.
>> אז זו דרך אחת לעשות את זה.
או שאנחנו יכולים לנצל את העובדה שאנו יודעים כי
הדרך היחידה שהציון שלך יכול להיות שלילי היא כאשר אתם אוכלים
דג רעיל, נכון?
כי כשאתה אוכל דגים אחרים,
הניקוד הולך להגדיל.
כך שאין שימוש בבדיקה אם זה צריך להיות
משחק נגמר או לא.
אז זה תהליך דומה כאן.
אז אנחנו יכולים למעשה רק להוסיף על זה "כשאני מקבל כריש
חולה. "
אז אומר שאנו מוסיפים את המצב הזה.
אנחנו רוצים להגיד, אם התוצאה היא פחות מ 0.
אז אנחנו הולכים למפעילים, אנחנו הולכים להשתמש
זה פחות מאחוז אחד, אנחנו הולכים לגרור אותנו
ניקוד כאן, אומר 0.
וכך, אם התוצאה היא 0, אז אנחנו רוצים לשדר
משהו שנקרא על משחק.
>> אישור.
אז אומר שיש לנו משחק נגמר.
בואו נעבור את זה כאן או משהו.
ובכן, אנחנו רוצים את הכריש רק לחזור להיות רעב אם
המשחק עדיין ניתן לשחק.
אז במקום להשתמש ב" אם ", אנו נשתמש
"אם אחר" לבנות.
אז מה זה עושה - זה אומר, אוקיי, אז אם מצב זה הוא
אמיתי, ואז לעשות את זה, אבל אם זה לא נכון, עושה את זה.
אז בוא נוסיף אם התוצאה היא פחות מ 0, אז אתה
שידור משחק נגמר, אבל אם לא - אם שלך
ציון הוא עדיין חיובי -
אז לחזור להיות רעב.
אישור.
מגניב.
אז עכשיו שיש לנו את המשחק הזה על אירוע, אנחנו צריכים שנהיה לי
איזו דרך להגיב לזה.
>> אז בואו נעשה תסריט חדש שאומר "כשאני מקבל משחק
נגמר. "ומה יש לנו כאן תחת בקרה הוא למעשה זה
לעצור את כל הכפתור, ואז זה בעצם מחק לך לחיצה
לעצור באדום לחתום כאן.
אז בואו יש תחנת הכריש.
וכך אנחנו גם רוצים הדגים להפסיק, אז בואו ולגרור
להעתיק אותו פנימה
אנחנו רוצים את כל הדגים שיפסיקו.
ואז שיהיו תחנת הבמה גם כן.
בסדר.
אז שוחים, אנחנו אוכלים דגים, ו
אז התכנית קופאת.
אני לחיצה כלפי מטה, אבל אני לא ממש יכול לעשות שום דבר.
בסדר, אבל בואו נגיד שאנחנו לא רוצים שנזכיר למשתמש כי
יש להם ערך שלילי, לדוגמה, אז אנחנו יכולים,
למשל, להסתיר משתנה מהמסך.
לכן, כאשר השלב מקבל משחק נגמר, ואז זה יהיה להסתיר
הניקוד משתנה.
אישור.
אז בואו לאכול אחד יותר דגים.
ולאחר מכן את הציון נעלם, ואתה רק צריך מסך זה.
>> בסדר.
אז זה משחק די הגון, ואם היה לך יותר
זמן, אז אתה יכול בסופו להוסיף
יותר ויותר תסריטים.
ואם כך, הוסיף עוד כמה דגים, גרם להם להתקדם
במהירויות שונות, ולאחר מכן בכל פעם שאוכל כריש
דג רעיל, זה בעצם אומר, "בלך!"
ואז מה שעשיתי זה הוספתי רקע חדש
במה - משחק מעל רקע.
ואז מה השלב עושה במהלך המשחק על אירוע
טיפול הוא אותו עובר לרקע של משחק נגמר
רקע.
וכן, הסתרתי את כל השדונים מהבמה כדי ש
רק המשחק מעל הרקע הוצג.
ישנן כמה תוספות קטנות אחרות שהוספתי,
למשל, לפני כשנסתיימו התכנית שלנו, אז
כריש, בפעם הבאה שאנחנו התחלנו, היה מתחילים ב
כי עמדה גם כן.
מה שהוספתי הוא בכל פעם שהדגל הירוק לוחץ, אז
הכריש חוזר למקור ולאחר מכן פונה לכיוון
ימינה, כך שכל פעם, יש לך
כריש מתחיל שם.
>> אז אתה יכול להתנסות בתנועה ודברים כאלה, כי
רק כדי להוסיף נגיעות קטנות שהופכות
משחק קצת יותר מלוטש.
האם מישהו יש לך שאלות על HungryShark?
מגניב.
בסדר.
אז זה דוגמה למשהו שאתה יכול לעשות
בשימוש בכל הכלים שנידונו לעיל גרד.
אז אני גם נכללתי בשקופיות בהדרכה.
אתה תראה אותם מאוחר יותר.
זה רק סקירה של התהליכים שעשינו -
מתקדם מHungryShark0 כל הדרך אלינו סופי.
אחד
כן.
אבל זה על זה.
אני אשאר מאחור אם אתם רוצים
תשאל עוד שאלות.
זה היה Walkthrough 0.
תודה לכולכם על שבאתם, ואני אראה אותך בWalkthrough 1.