PracticU

פרויקט מעשי ב-#C - תוכנת צייר - חלק 5

בלי כתוביותעם כתוביות
PracticU › פרויקט מעשי ב-#C - תוכנת צייר › פרויקט מעשי ב-#C - תוכנת צייר - חלק 5
פרויקט מעשי ב-#C - תוכנת צייר - חלק 5
בשיעור הזה מציירים בזמן שהעכבר זז. הרעיון הוא שכל תנועה של העכבר מייצרת קו קצר מהנקודה הקודמת לנקודה החדשה, וכך מתקבל ציור רציף.
השלבים העיקריים
1. הרעיון: העכבר שולח אירועים רצופים, וכל אחד מהם מכיל את הנקודה החדשה. בכל אירוע מחברים את הנקודה החדשה לנקודה השמורה מהאירוע הקודם.
2. MouseDown: שומרים את הנקודה הראשונה, בלי לצייר.
3. MouseMove: מציירים מהנקודה השמורה אל הנקודה החדשה, ואז מעדכנים את הנקודה השמורה לנקודה החדשה לקראת האירוע הבא.
4. בדיקה בהרצה: מציירים עם העכבר ומשווים לדוגמה שהוכנה לפני כן.
טעויות נפוצות
- אם לא מעדכנים את הנקודה השמורה ב-MouseMove, הציור תמיד מתחיל מנקודת הלחיצה הראשונה, ונוצרים מעגלים ולא קו חופשי.
- הציור נמשך גם כשהכפתור של העכבר לא לחוץ. את זה נפתור בשיעור הבא.
בסיום השיעור התלמיד מבין איך נבנה ציור רציף מתוך אירועי תנועת עכבר, ומה חשוב לעדכן בכל אירוע.
השיעור הבא בקורס: פרויקט מעשי ב-#C - תוכנת צייר - חלק 6

פרקי ההרצאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 5

  1. 00:00

    מטרה: ציור רציף בזמן תנועת העכבר

  2. 00:50

    הדגמת הציור כקטעים ישרים

  3. 01:29

    אירוע MouseMove והנקודה הקודמת

  4. 02:26

    MouseDown לנקודה הראשונה

  5. 03:10

    העברת הציור ל-MouseMove

  6. 04:26

    בעיה: הציור מתחיל מ-0,0

  7. 05:06

    עיגולים כתוצאה מערכי X ו-Y ישנים

  8. 05:50

    ציור ביד חופשית ולא במעגלים

תמלול ההרצאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 5

הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט מעשי ב-#C - תוכנת צייר - חלק 5» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:05

    אז בשיעור הקודם הצלחנו לצייר קווים. עכשיו נשאלת השאלה, איך אני יכול לצייר ולהזיז את העכבר באותו זמן? זה לצייר את כל מה, כל נקודה שהעכבר זז עליה, אני רוצה שיהיה שם בעצם קו.

  2. 00:30

    אז אם נחשוב על זה, בעצם מה אנחנו רוצים? אנחנו רוצים, אז פה בעצם צריך להבין מה זה בעצם העכבר. העכבר, אולי אני אקח אפילו דוגמה, בוא נצייר פה משהו כזה ונסתכל מה בעצם צויר.

  3. 00:50

    אני הזרקתי את העכבר ברצף אבל מה שצויר כאן זה קווים ישרים. אם נסמן את הנקודות של הקווים הישרים אז נראה שזו בעצם נקודה, זו נקודה, אלה כולם קווים ישרים. מנקודה לנקודה בעצם יש קו ישר.

  4. 01:20

    וקווים ישרים. זאת אומרת, מהנקודה הזו לנקודה הזו אנחנו נקרא ל-draw line. איך נעשה את זה?

  5. 01:29

    בכל פעם שהעכבר זז אנחנו מקבלים אירוע mouse move. באירוע mouse move אנחנו מקבלים את הנקודה החדשה של העכבר. אנחנו בכל פעם ניקח את הנקודה הקודמת שבה היה העכבר, ונצלם את הנקודה החדשה שבה נמצא העכבר.

  6. 01:51

    ואז נעדכן את הנקודה הקודמת, את הנקודה הזו וזאת בשביל הקו הבא. בפעם הבאה שאנחנו נקבל אירוע Mouse Move זה יהיה כשנהיה בנקודה הזו ונקבל את הקואורדינטה הזו.

  7. 02:06

    אז נמתח קו מהנקודה הקודמת שעדכנו אותה באיתרציה הקודמת ונמתח את הקו לנקודה החדשה. בפעם הראשונה ב-Mouse Down אנחנו נגדיר את הנקודה הראשונה.

  8. 02:29

    ב-Mouse Down את הנקודה הראשונה, ובמאוס מוב נצייר מהנקודה הראשונה לנקודה החדשה ואז נעדכן את הנקודה הראשונה להיות הנקודה החדשה זה קצת מבלבל, אבל כשאתם עשו את זה בעצמכם תבינו יותר בואו נכתוב את זה, יפה עושה סירואים מתאימים, והנה מאוס מוב, דאבל קליק

  9. 03:10

    קרס לנו הוויז'ואל סטודיו, אבל הנה עכשיו העלינו אחד חדש במאוס מוב אנחנו נרצה לצייר, קוד הזה אני מעביר למאוס מוב, במאוס אפ אנחנו יותר לא נצייר, אז אני רוצה למחוק את הפונקציה הזו, אין לי יותר צורך במאוס אפ, אבל בואו נשאיר את הפונקציה כרגע, כי אני לא רוצה למחוק, זה יגרום לבאגים ולכל מיני בעיות, אז נעזוב כרגע מחיקת פונקציה,

  10. 03:59

    אז במאוס מוב אנחנו נצייר, בואו נראה איך זה נראה, מעניין, זה לא בדיוק מה שרצינו, מה בעצם קורה כרגע?

  11. 04:30

    רגע, במאוס move אנחנו מציירים כל פעם לנקודה החדשה שאליה העכבר זז. אבל מאיפה אנחנו מציירים?

  12. 04:46

    אנחנו תמיד מציירים בעצם מ-0,0. למה אנחנו מציירים מ-0,0? אנחנו אף פעם לא מעדכנים את x ואת y. רק במאוס down התקיימנו את x ואת y. אם שוב נריץ את התוכנית ושוב נצייר, נקבל את זה.

  13. 05:20

    אם עכשיו אני אזוז לכאן, אלחץ כאן ואעשה סיבוב כאן, זה מה שקיבלנו. אני אזוז לכאן ואעשה סיבוב כאן, אז זה מה שקיבלנו.

  14. 05:40

    למה זה קורה? כי כל פעם שאני עושה מאוס דאון מתעדכן ה-X וה-Y. ואז תמיד אנחנו מטעים מה-X וה-Y, שם לחצתי עם העכבר.

  15. 06:01

    אז נוצרים המעגלים היפים האלה. אבל זה לא מה שרצינו. אנחנו רוצים לצייר ציור של יד חופשית ולא מעגלים. בעצם כשאנחנו עושים draw line אנחנו לא רוצים לצייר מהנקודה ש-mouse down, ששם האצבע שלי ירדה על הלחצן של העכבר. אני לא רוצה לצייר

לקורס המלא: פרויקט מעשי ב‑#C אונליין

ההרצאה הקודמת: פרויקט מעשי ב-#C - תוכנת צייר - חלק 4

ההרצאה הבאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 6

הרצאות קשורות מקורסים אחרים

  • תרגיל 24 - תוכנת צ'אט - חלק 1
  • פרויקט מעשי ב-#C - ספר טלפונים - חלק 1
  • תרגיל מעשי Delegate Event
  • שדרוג צייר שלנו על canvas

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C
  • קורס WCF - תקשורת למתקדמים בדוט-נט