Variable Expressions (Video Version)
-
0:01 - 0:08אנחנו שוב עם Winston, ועכשיו יש לנו גם את
משתנה X וגם משתנה Y עבור המיקום שלו. -
0:08 - 0:14אז עכשיו נוכל לגרום לווינסטון לקפוץ מעלה ומטה,
ולעשות מסיבת ווינסטון! -
0:14 - 0:19יפה. בואו נעבור על הקוד הזה לפני שנמשיך.
-
0:19 - 0:25יש לנו משתני X ו-Y למעלה, ששומרים את המיקום
של המרכז של הפנים של ווינסטון. -
0:25 - 0:29ואנחנו משתמשים בהם בשורה הזו כאן,
איפה שאנו יוצרים את האליפסה של הפנים -
0:29 - 0:34אחר כך, אנו ממקמים את העיניים ואת הפה
יחסית למיקום של מרכז הפנים -
0:34 - 0:42אז אנחנו מחסרים או מוסיפים ל-X ול-Y כדי
לוודא שהעיניים הם 50 פיקסלים או 100
פיקסלים מהמרכז -
0:42 - 0:49לדוגמה, הפה הוא 50 פיקסלים ימינה מהמרכז,
-
0:49 - 0:54ו-40 פיקסלים מתחת למרכז הפנים.
-
0:55 - 1:00אז, בואו נראה מה עוד נוכל לשמור בתור משתנים.
-
1:00 - 1:08כדי לעשות זאת, אני אעבור על כל שורה בקוד
ואחפש משהו שנקרא לו מספרים קבועים. -
1:08 - 1:14אלו הם מספרים שהם פשוט מספרים פשוטים,
לא משתנים או דברים שתלויים במשתנים -
1:14 - 1:22בואו נראה. באליפסה הראשונה שלנו, יש לנו 300
ו-300 עבור הרוחב והגובה. -
1:22 - 1:27אז אפשר לעשות משתנים עבורם במקום, למשל
משתנה faceSize -
1:27 - 1:36אז faceSize שווה 300, ואז אנחנו יכולים להעביר
את faceSize כאן, וזה יעביר 300 בתור הערך. -
1:37 - 1:41מגניב. בואו נמשיך.
-
1:41 - 1:51כאן הכל משתמש ב-X או ב-Y או ב-eyeSize,
אבל כאן למטה בשביל הפה, שוב יש לנו מספרים,
רוחב 150 וגובה 150. -
1:51 - 1:56אז אפשר לעשות משתנה mouthSize,
ששווה 150 -
1:56 - 2:03ונעביר את mouthSize כאן. וזה פשוט יעביר
את הערך 150, כי זה מה שהמשתנה שווה. -
2:05 - 2:10אוקיי. אז עכשיו כשעשינו את זה,
אנחנו יכולים בקלות לשנות את גודל הפנים, -
2:10 - 2:16וגם לשנות את גודל הפה..
-
2:16 - 2:19וגם נוכל לשנות את גודל העיניים.
-
2:19 - 2:24אוקיי, זה מגניב. אבל יש משהו שאני לא אוהבת כאן
-
2:24 - 2:33בכל פעם שאני משנה את גודל הפנים, הייתי רוצה
שכל הדברים האחרים ישתנו בהתאם. -
2:33 - 2:41כך שאם אקטין מאוד את הפנים, אני רוצה
שגם העיניים והפה יקטנו. -
2:41 - 2:46אם אני אקטין את הפנים פי שניים מהמספר המקורי,
העיניים והפה צריכים גם -
2:46 - 2:50לקטון פי שניים מהגודל שלהם. אחרת הוא פשוט
נראה ממש מטופש -
2:50 - 2:53כי העיניים שלו והפה שלו הרבה יותר מדי גדולים
בשביל הפנים שלו -
2:53 - 2:56הם אפילו לא מחוברים אליו יותר.
-
2:56 - 3:01מה שנרצה לעשות הוא איכשהו לגרום למשתנים
האלו, mouthSize ו-eyeSize -
3:01 - 3:05להיות תלויים במשתנה faceSize.
-
3:06 - 3:09אז בואו נחזיר את זה לערכים המקוריים.
-
3:09 - 3:17אז נוכל לגרום לערכים האלו להיות מבוססים על
הערך של faceSize -
3:17 - 3:22אז נכתוב mouthSize שווה ל-faceSize
חלקי 2 -
3:22 - 3:28אנחנו משתמשים בשבר, אנחנו אומרים שניקח חצי
מגודל הפנים. -
3:28 - 3:32ואם אתם לא מכירים שברים, יש המון סרטונים
בקאן אקדמי בנושא -
3:32 - 3:35כך שתוכלו לחזור על איך שברים עובדים.
-
3:35 - 3:41אוקיי, עבור גודל העיניים, זה בערך faceSize
חלקי 4. -
3:41 - 3:44זה לא מושלם, אבל זה די טוב. או אולי 7?
-
3:44 - 3:47הנה, זה יותר טוב.
-
3:47 - 3:51אם אתם בוחרים שבר לא מתאים בהתחלה, תמיד
תוכלו לשנות את זה אחר כך. -
3:51 - 3:54פשוט תשחקו עם המספר הזה עד שזה נראה הגיוני
-
3:54 - 4:03אז עכשיו אם נשנה את גודל הפנים, תראו איך
העיניים והפה משנים את הגודל ביחד איתם? -
4:03 - 4:04ממש נחמד.
-
4:04 - 4:07אבל משהו עדיין לא בסדר.
-
4:07 - 4:13העיניים והפה עדיין מתנתקים מהפנים אם נקטין
את זה ממש הרבה -
4:13 - 4:17הגודל נכון, הבעיה היא במרחק מהפנים
-
4:17 - 4:24מה שקורה כאן זה שכאן למטה אנחנו ממקמים
את האליפסות -
4:24 - 4:31יש לנו X מינוס 50 ו-Y מינוס 50, ואז X פלוס 100
ו-Y מינוס 60 -
4:31 - 4:41אז גם אם הפנים שלנו הם רק בגודל 50 פיקסלים,
אנחנו עדיין מזיזים את העיניים 50 פיקסלים מהמרכז -
4:41 - 4:44וזה מזיז אותן מחוץ לפנים.
-
4:44 - 4:48אז אנחנו צריכים שבמקום 50 ו-100 וכל המספרים
האלו שיש לנו כאן -
4:48 - 4:55הם צריכים להיות יחסיים לגודל הפנים, כך שאם
גודל הפנים משתנה -
4:55 - 5:01אז המרחק של העיניים ושל הפה גם ישתנה.
-
5:02 - 5:05אני אראה לכם למה אני מתכוונת.
בואו נטפל בעין הראשונה. -
5:05 - 5:08זה X מינוס 50 פיקסלים
-
5:08 - 5:12אז זה אומר שזה צריך להיות 50 פיקסלים שמאלה
מהמרכז של הפנים -
5:12 - 5:15מה שאנחנו רוצים עכשיו זה להשתמש בשברים
-
5:15 - 5:19אז זה יהיה faceSize חלקי 6
-
5:19 - 5:22שישית מהגודל של הפנים.
-
5:22 - 5:29מגניב. ואז גם כאן זה יהיה faceSize חלקי 6
-
5:29 - 5:36עכשיו אם נשנה את הגודל, תראו שהעין הזאת
היא במקום הנכון -
5:36 - 5:38יופי, אז העין הזאת טובה.
-
5:38 - 5:41העין השנייה עדיין צריכה קצת עזרה
-
5:41 - 5:48אז 100, זה יהיה faceSize חלקי 3,
שליש מהגודל של הפנים -
5:48 - 5:53ו-60 זה חמישית מגודל הפנים, אז faceSize
חלקי 5 -
5:53 - 5:57מצוין. בואו נשנה את הגודל.. יפה מאוד.
-
5:57 - 6:00יש לנו רק עדיין בעיה עם הפה
-
6:00 - 6:02אז נלך לחלק של הפה בקוד
-
6:02 - 6:07זה אולי יהיה faceSize חלקי 6 שוב
-
6:07 - 6:10וזה בערך faceSize חלקי 7
-
6:10 - 6:16יופי, עכשיו הכל בפרופורציות הנכונות.
בואו נבדוק את זה. -
6:16 - 6:19מעולה, עכשיו אנחנו יכולים לעשות את ווינסטון
ממש קטן -
6:19 - 6:22והעיניים והפה שלו הם עדיין בתוך הפנים שלו!
-
6:22 - 6:25אני בטוחה שווינסטון מאוד שמח לגבי זה
-
6:27 - 6:28אוקיי, יש!
-
6:28 - 6:30בואו נעבור רגע על מה שעשינו כאן.
-
6:31 - 6:33למעלה, יש לנו את המשתנים שלנו
-
6:33 - 6:37מתחילים עם משתנה שרק שומר מספר, 200
-
6:37 - 6:42ואז המשתנים mouthSize ו-eyeSize
הם תלויים במספר הזה -
6:42 - 6:46הם שברים של המספר הזה, כך שאם faceSize
הוא כרגע 200 -
6:46 - 6:48אז mouthSize יהיה 100
-
6:48 - 6:53אבל אם נשנה את faceSize ל-300,
אז mouthSize יהיה פתאום 150 -
6:53 - 6:56אז זה תמיד משתנה בפרופורציה
-
6:56 - 7:01אחר כך כאן למטה, כשאני מחשבים את המרחקים,
אנחנו גם משתמשים בשברים -
7:01 - 7:08כי אנחנו רוצים שגם המרחקים ישתנו בפרופורציה
לגודל הפנים -
7:08 - 7:15בעצם אנחנו פשוט רוצים שיהיה לנו רק משתנה אחד
שמשפיע על כל השאר -
7:15 - 7:18וראיתם שאנחנו יכולים לעשות את זה עם משתנים
וביטויים עם משתנים. -
7:20 - 7:24אז, עכשיו שאנו מבינים איך לגרום למשתנים
להיות תלויים במשתנים אחרים -
7:24 - 7:26אנחנו יכולים לעשות הרבה יותר דברים עם
התוכניות שלנו -
7:26 - 7:30בואו נחגוג את זה ונגדיל את ווינסטון להיות ענק!!
-
7:30 - 7:33קדימה ווינסטון, תמשיך לגדול, תמשיך לגדול!
-
7:33 - 7:39אההההה!!!
- Title:
- Variable Expressions (Video Version)
- Description:
-
This is just a screen grab of our interactive coding talk-through, prepared to make captioning and translation easier. It is better to watch our talk-throughs here:
https://www.khanacademy.org/cs/programming/ - Video Language:
- English
- Duration:
- 07:42
nataly.eliyahu edited Hebrew subtitles for Variable Expressions (Video Version) | ||
nataly.eliyahu edited Hebrew subtitles for Variable Expressions (Video Version) |