
הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט מעשי ב-#C - תוכנת צייר - חלק 37» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו רוצים לעשות זה לטפל בוויץ. כל פעם שאני בוחר את אחד מאלה, 1, 2, 3, 4, אחד מהארבעת אלה, אז אני רוצה להציג את הוויץ. זאת אומרת, אם אני בוחר שק שהוא אחד מהארבעת אלה, אני רוצה להציג את הוויץ.
הבעיה תהיה עם ארבעת אלה שבעצם אני לא מכלה, אין לי שום דרך לראות אם הוא פילד כן או לא, ואז אני בעצם אצטרך להחסין את זה. בואו נעשה את זה, אז בפאנל וויט במהות דאון כשאני בא לבחור אז אני פה בעצם צריך לבדוק מה בחרתי ולפי זה להציג את הפאנל וויט אז פה אני אגדיר רינג'ן של פאנל show הוא פאנל וויט ופה אני אגיד שאם s1 is line או s1 is freehand או בוא נגיד שזה מקרה אחד אז פאנל וויט ברבים
with visibility שווה לטרו אבל זה לא המקרה היחידי ניקח את זה עוד מקרה זה אם s1 is figure אם הוא פיגר וגם אז זהו אז אם הוא פיגר זה משהו קצת שונה אז מכל זאת צריך להגדיר את פיגר f שווה לקאסטינג לפיגר של s1 ואז אני צריך לבוא ל-f ולשאול אותו האם הוא פילד אז אני צריך להגיד שיש לו תכונה is field אם הוא is field שווה ל-false אז ככה אז אני צריך
להוסיף לו תכונה is פילד אז נלך לפיגר עם F12 כרגע יש לו איזה פילד שהוא פרייבט רידונלי נהפוך את זה לאינטרנל אני חייב להחתים את זה ולראות את זה בכל מקרה זה רידונלי ואי אפשר לשנות את זה אבל שניתן יהיה לקרוא את זה אז נעביר את זה כאן למעלה זה לא כמו כל הפרייבטים שהם פרייבטים ונוריד את זה
אז נגדיר פה פילד רקטנגל ואני עושה עליו סלקט אז הוא נשאר, אני יכול לשנות את הטבע שלו אבל זה. ואם אני מגדיר עכשיו אז non-field ellipse אז זה ככה.
אם עכשיו אני בא ועושה סלקט אליה אז היא כן נציגה. סלקט עליו אז זהו. הסלקט עליו אמורה להגיד לו להיות פולט וכרגע לא עשינו את זה שווה לפולט. אז מה שצריך לעשות זה אם זה לא זה או בוא נגיד שיפט F5 נעצור את זה נגיד לו בהתחלה תהיה פולט בי די פולט תהיה פולט אם זה זה תהיה true אם זה זה תהיה true אחרת תישאר בפולט כל פעם
שבעצם יוזר בוחר שייק אז נגיד לו שוב מלבן ונון פילד מלבן יפה וסלפט את הפילד נון פילד פילד נון פילד מצוין לכן אני רוצה לבוא ולשנות את האובי ולהגיד לו תהיה יותר עבה אז אם כשאני בוחר אובי יש כרגע מישהו סלסטד אם אני בוחר כרגע אובי אם נחתתי על אחד מאלה בוא נראה מה קורה כשאני נוחת על אחד מאלה באמת
מרס דאון אז יש פה invalidate פאנל וויל והוא לא מקבל אף פרמטר אבל מה קורה פה הוא פשוט עושה invalid לכולם זה לא מעניין רגע, בקיצור, אם לחצתי על זה ויש לי מישהו בחור אז תעשה אותו באובי הזה, נעשה את זה ככה, אם יש לי מישהו כרגע בחור, שונה מנהל, אז האם, כן, הרי, אז בהכרח יש לו אובי, לכולם יש אובי, לכולם יש
ווייט, רוחב, איך שלא נקרא לזה, צריך לעשות סיקנס, כולם, הרי לשייפ יש את זה, אבל לא כולם משתמשים בזה.
האמת היא שאין לי שום רתיעה מפשוט להגיד לו שהאובי שלו, הרוחב שלו, האובי שלו משתנה, אבל גם אני יכול בעצם להניח שאם לחצו מרס דאון על הפאנל וויט אחד, זה אומר שהיה ויזיבל.
לא יכלו אחרת לעשות את זה. אז בוודאות, מה שיש לי כרגע, הסלקטד שייפ שלי, בוודאות מציג את הוויט שלו. נקודה וויט. אז אין לו וויט, הוא צריך שיהיה לו וויט, וצריכים גם לשנות את זה, ניקח את color, נלך ל-color וכמו שיש לנו תכונה כזו ש-Color משתנה אנחנו נוסיף גם תכונה של-Weets מסוג-Float, עביר את-Weets אם ישאלו,
כאן ניתן לה ערך וגם ניצור מחדש את הפן ואת הבראש. שים לב ששתי השורות האלה בעצם אפשר להוציא החוצה לקוד משותף, ונעזוב את זה כרגע.
זה באמת כפל קוד אבל בשלב זה זה כבר די ברור מה לעשות. אז פה ניקח את וויט והוא יהיה שווה לזהו אז בחנו ובעצם אנחנו רואים שביצירה במרזר כשאנחנו יוצרים מיושייק אז אנחנו ככה מחלצים את הוויט שלו וכשאנחנו יוצרים לדוגמה פרי הנד אנחנו נותנים את הוויט שחילטנו כאן אותו דבר אנחנו עכשיו נעשה נחזור לאן שהיינו כאן
ואפשר להגיד שנחלץ פה את הוויט, זה פשוט ניתן לו את הוויט. אבל את זה בעצם אני רוצה לעשות לגבי, לא רק כאן, אלא לגבי כל אחד מהחבר'ה האלה.
כאשר הוויט משתנה, אז זה בעצם נעשה את זה, מכיוון שכולם קוראים לו invalid את פיינול וויט, אז פשוט נעשה את זה כאן, נעשה את זה בהתחלה. השאלה אם כאן הוויט כבר התעדכן כשמפעילים את הפונקציה הזאת. נלך שוב אחורה.
ומאזן עדכנו פה ועדכנו כאן אז הוא מתעדכן אז זה די בסדר אז נריץ את זה וניצור כזה דבר ונגיד לו סלק נשנה לו את הצבע זה משתנה נשנה לו את העובי וזה לא משתנה כל כך השאלה היא למה זה לא משתנה אז ניגש הוא רוצה invalidate נשים פה breakpoint עכשיו זה כן השתנה זאת אומרת הוא בעצם משנה והוא לא רוצה invalidate אז נעצור את זה ונעשה לו
panel-wideboard.invalidate ונריץ. ונבחר את זה ונגיד לו Select תא תמס גלגל ונשנה את העובי וזה משתנה.
מה לגבי freehand אם אני אצייר ואני אבחר אותו ואני אשנה לו את העובי זה משתנה. ולגבי line נגעתי והוא שינה גם את זה. אז ברגע שנגעתי בליין והסלקטד לא לחוץ אז בעצם לא אמור להיות יותר סלקטד אז יש כמה נקודות שבהן אני צריך לנטרל את הסלקטד שלי שלא יהיה לי יותר סלקטד כשאני נוגע בליין וסלקטד כבר לא לחוץ אז