1 00:00:01,038 --> 00:00:08,408 אנחנו שוב עם Winston, ועכשיו יש לנו גם את משתנה X וגם משתנה Y עבור המיקום שלו. 2 00:00:08,408 --> 00:00:14,324 אז עכשיו נוכל לגרום לווינסטון לקפוץ מעלה ומטה, ולעשות מסיבת ווינסטון! 3 00:00:14,324 --> 00:00:19,036 יפה. בואו נעבור על הקוד הזה לפני שנמשיך. 4 00:00:19,036 --> 00:00:24,883 יש לנו משתני X ו-Y למעלה, ששומרים את המיקום של המרכז של הפנים של ווינסטון. 5 00:00:24,883 --> 00:00:28,746 ואנחנו משתמשים בהם בשורה הזו כאן, איפה שאנו יוצרים את האליפסה של הפנים 6 00:00:28,746 --> 00:00:34,324 אחר כך, אנו ממקמים את העיניים ואת הפה יחסית למיקום של מרכז הפנים 7 00:00:34,324 --> 00:00:42,371 אז אנחנו מחסרים או מוסיפים ל-X ול-Y כדי לוודא שהעיניים הם 50 פיקסלים או 100 פיקסלים מהמרכז 8 00:00:42,371 --> 00:00:49,237 לדוגמה, הפה הוא 50 פיקסלים ימינה מהמרכז, 9 00:00:49,237 --> 00:00:53,638 ו-40 פיקסלים מתחת למרכז הפנים. 10 00:00:55,483 --> 00:01:00,075 אז, בואו נראה מה עוד נוכל לשמור בתור משתנים. 11 00:01:00,075 --> 00:01:07,824 כדי לעשות זאת, אני אעבור על כל שורה בקוד ואחפש משהו שנקרא לו מספרים קבועים. 12 00:01:07,824 --> 00:01:14,269 אלו הם מספרים שהם פשוט מספרים פשוטים, לא משתנים או דברים שתלויים במשתנים 13 00:01:14,269 --> 00:01:22,158 בואו נראה. באליפסה הראשונה שלנו, יש לנו 300 ו-300 עבור הרוחב והגובה. 14 00:01:22,158 --> 00:01:26,590 אז אפשר לעשות משתנים עבורם במקום, למשל משתנה faceSize 15 00:01:26,605 --> 00:01:36,271 אז faceSize שווה 300, ואז אנחנו יכולים להעביר את faceSize כאן, וזה יעביר 300 בתור הערך. 16 00:01:37,286 --> 00:01:40,909 מגניב. בואו נמשיך. 17 00:01:40,909 --> 00:01:50,771 כאן הכל משתמש ב-X או ב-Y או ב-eyeSize, אבל כאן למטה בשביל הפה, שוב יש לנו מספרים, רוחב 150 וגובה 150. 18 00:01:50,771 --> 00:01:55,969 אז אפשר לעשות משתנה mouthSize, ששווה 150 19 00:01:55,969 --> 00:02:03,409 ונעביר את mouthSize כאן. וזה פשוט יעביר את הערך 150, כי זה מה שהמשתנה שווה. 20 00:02:04,670 --> 00:02:10,322 אוקיי. אז עכשיו כשעשינו את זה, אנחנו יכולים בקלות לשנות את גודל הפנים, 21 00:02:10,322 --> 00:02:16,036 וגם לשנות את גודל הפה.. 22 00:02:16,036 --> 00:02:19,159 וגם נוכל לשנות את גודל העיניים. 23 00:02:19,159 --> 00:02:24,206 אוקיי, זה מגניב. אבל יש משהו שאני לא אוהבת כאן 24 00:02:24,206 --> 00:02:33,370 בכל פעם שאני משנה את גודל הפנים, הייתי רוצה שכל הדברים האחרים ישתנו בהתאם. 25 00:02:33,370 --> 00:02:40,770 כך שאם אקטין מאוד את הפנים, אני רוצה שגם העיניים והפה יקטנו. 26 00:02:40,770 --> 00:02:46,498 אם אני אקטין את הפנים פי שניים מהמספר המקורי, העיניים והפה צריכים גם 27 00:02:46,498 --> 00:02:50,074 לקטון פי שניים מהגודל שלהם. אחרת הוא פשוט נראה ממש מטופש 28 00:02:50,074 --> 00:02:53,326 כי העיניים שלו והפה שלו הרבה יותר מדי גדולים בשביל הפנים שלו 29 00:02:53,326 --> 00:02:55,936 הם אפילו לא מחוברים אליו יותר. 30 00:02:55,936 --> 00:03:01,372 מה שנרצה לעשות הוא איכשהו לגרום למשתנים האלו, mouthSize ו-eyeSize 31 00:03:01,372 --> 00:03:04,704 להיות תלויים במשתנה faceSize. 32 00:03:05,965 --> 00:03:08,658 אז בואו נחזיר את זה לערכים המקוריים. 33 00:03:08,658 --> 00:03:16,659 אז נוכל לגרום לערכים האלו להיות מבוססים על הערך של faceSize 34 00:03:16,659 --> 00:03:21,659 אז נכתוב mouthSize שווה ל-faceSize חלקי 2 35 00:03:21,659 --> 00:03:27,937 אנחנו משתמשים בשבר, אנחנו אומרים שניקח חצי מגודל הפנים. 36 00:03:27,937 --> 00:03:31,935 ואם אתם לא מכירים שברים, יש המון סרטונים בקאן אקדמי בנושא 37 00:03:31,935 --> 00:03:35,159 כך שתוכלו לחזור על איך שברים עובדים. 38 00:03:35,159 --> 00:03:40,770 אוקיי, עבור גודל העיניים, זה בערך faceSize חלקי 4. 39 00:03:40,770 --> 00:03:44,370 זה לא מושלם, אבל זה די טוב. או אולי 7? 40 00:03:44,370 --> 00:03:46,869 הנה, זה יותר טוב. 41 00:03:46,869 --> 00:03:50,738 אם אתם בוחרים שבר לא מתאים בהתחלה, תמיד תוכלו לשנות את זה אחר כך. 42 00:03:50,738 --> 00:03:53,637 פשוט תשחקו עם המספר הזה עד שזה נראה הגיוני 43 00:03:54,190 --> 00:04:02,604 אז עכשיו אם נשנה את גודל הפנים, תראו איך העיניים והפה משנים את הגודל ביחד איתם? 44 00:04:02,604 --> 00:04:04,136 ממש נחמד. 45 00:04:04,136 --> 00:04:06,803 אבל משהו עדיין לא בסדר. 46 00:04:06,803 --> 00:04:12,909 העיניים והפה עדיין מתנתקים מהפנים אם נקטין את זה ממש הרבה 47 00:04:12,909 --> 00:04:17,367 הגודל נכון, הבעיה היא במרחק מהפנים 48 00:04:17,367 --> 00:04:24,074 מה שקורה כאן זה שכאן למטה אנחנו ממקמים את האליפסות 49 00:04:24,074 --> 00:04:31,137 יש לנו X מינוס 50 ו-Y מינוס 50, ואז X פלוס 100 ו-Y מינוס 60 50 00:04:31,137 --> 00:04:40,904 אז גם אם הפנים שלנו הם רק בגודל 50 פיקסלים, אנחנו עדיין מזיזים את העיניים 50 פיקסלים מהמרכז 51 00:04:40,904 --> 00:04:43,741 וזה מזיז אותן מחוץ לפנים. 52 00:04:43,741 --> 00:04:47,770 אז אנחנו צריכים שבמקום 50 ו-100 וכל המספרים האלו שיש לנו כאן 53 00:04:47,770 --> 00:04:54,744 הם צריכים להיות יחסיים לגודל הפנים, כך שאם גודל הפנים משתנה 54 00:04:54,744 --> 00:05:00,539 אז המרחק של העיניים ושל הפה גם ישתנה. 55 00:05:02,108 --> 00:05:04,969 אני אראה לכם למה אני מתכוונת. בואו נטפל בעין הראשונה. 56 00:05:04,969 --> 00:05:08,372 זה X מינוס 50 פיקסלים 57 00:05:08,372 --> 00:05:12,404 אז זה אומר שזה צריך להיות 50 פיקסלים שמאלה מהמרכז של הפנים 58 00:05:12,404 --> 00:05:15,201 מה שאנחנו רוצים עכשיו זה להשתמש בשברים 59 00:05:15,201 --> 00:05:19,409 אז זה יהיה faceSize חלקי 6 60 00:05:19,409 --> 00:05:22,370 שישית מהגודל של הפנים. 61 00:05:22,370 --> 00:05:28,737 מגניב. ואז גם כאן זה יהיה faceSize חלקי 6 62 00:05:28,737 --> 00:05:35,545 עכשיו אם נשנה את הגודל, תראו שהעין הזאת היא במקום הנכון 63 00:05:35,545 --> 00:05:38,438 יופי, אז העין הזאת טובה. 64 00:05:38,438 --> 00:05:41,324 העין השנייה עדיין צריכה קצת עזרה 65 00:05:41,324 --> 00:05:47,990 אז 100, זה יהיה faceSize חלקי 3, שליש מהגודל של הפנים 66 00:05:47,990 --> 00:05:53,325 ו-60 זה חמישית מגודל הפנים, אז faceSize חלקי 5 67 00:05:53,325 --> 00:05:57,104 מצוין. בואו נשנה את הגודל.. יפה מאוד. 68 00:05:57,104 --> 00:06:00,325 יש לנו רק עדיין בעיה עם הפה 69 00:06:00,325 --> 00:06:02,305 אז נלך לחלק של הפה בקוד 70 00:06:02,305 --> 00:06:06,539 זה אולי יהיה faceSize חלקי 6 שוב 71 00:06:06,539 --> 00:06:10,490 וזה בערך faceSize חלקי 7 72 00:06:10,490 --> 00:06:15,561 יופי, עכשיו הכל בפרופורציות הנכונות. בואו נבדוק את זה. 73 00:06:15,561 --> 00:06:18,659 מעולה, עכשיו אנחנו יכולים לעשות את ווינסטון ממש קטן 74 00:06:18,659 --> 00:06:22,491 והעיניים והפה שלו הם עדיין בתוך הפנים שלו! 75 00:06:22,491 --> 00:06:25,370 אני בטוחה שווינסטון מאוד שמח לגבי זה 76 00:06:26,816 --> 00:06:28,038 אוקיי, יש! 77 00:06:28,038 --> 00:06:29,804 בואו נעבור רגע על מה שעשינו כאן. 78 00:06:31,188 --> 00:06:33,242 למעלה, יש לנו את המשתנים שלנו 79 00:06:33,242 --> 00:06:37,039 מתחילים עם משתנה שרק שומר מספר, 200 80 00:06:37,039 --> 00:06:41,659 ואז המשתנים mouthSize ו-eyeSize הם תלויים במספר הזה 81 00:06:41,659 --> 00:06:45,910 הם שברים של המספר הזה, כך שאם faceSize הוא כרגע 200 82 00:06:45,910 --> 00:06:47,806 אז mouthSize יהיה 100 83 00:06:47,806 --> 00:06:53,270 אבל אם נשנה את faceSize ל-300, אז mouthSize יהיה פתאום 150 84 00:06:53,270 --> 00:06:55,605 אז זה תמיד משתנה בפרופורציה 85 00:06:55,605 --> 00:07:00,991 אחר כך כאן למטה, כשאני מחשבים את המרחקים, אנחנו גם משתמשים בשברים 86 00:07:00,991 --> 00:07:07,659 כי אנחנו רוצים שגם המרחקים ישתנו בפרופורציה לגודל הפנים 87 00:07:07,659 --> 00:07:15,062 בעצם אנחנו פשוט רוצים שיהיה לנו רק משתנה אחד שמשפיע על כל השאר 88 00:07:15,062 --> 00:07:18,074 וראיתם שאנחנו יכולים לעשות את זה עם משתנים וביטויים עם משתנים. 89 00:07:19,658 --> 00:07:23,825 אז, עכשיו שאנו מבינים איך לגרום למשתנים להיות תלויים במשתנים אחרים 90 00:07:23,825 --> 00:07:26,407 אנחנו יכולים לעשות הרבה יותר דברים עם התוכניות שלנו 91 00:07:26,407 --> 00:07:30,469 בואו נחגוג את זה ונגדיל את ווינסטון להיות ענק!! 92 00:07:30,469 --> 00:07:33,324 קדימה ווינסטון, תמשיך לגדול, תמשיך לגדול! 93 00:07:33,324 --> 00:07:39,408 אההההה!!!