|
בשיעור זה נלמד כיצד ניתן לשנות צבע של movieclip מסוים ע"י שימוש בפקודה setTransform.
הידע הנדרש - הבנה ממוצעת בתכנות בפלאש 5, שימוש בפונקציות (קישור לשיעור פונקציות) שינוי בצבע בפלאש 5 מתאפשר ע"י שימוש באחת משתי שיטות קיימות - הראשונה והקלה יותר, setRGB והשנייה והמעט מורכבת יותר , setTransform. ההבדל בין הפקודה setRGB לפקודה setTransorm הוא באופן השינוי אותו הן עושות - setRGB קובע צבע בגוון מסויים לאובייקט (לדוגמא צבע אדום - 0000FF#) בהתחשב בצבע הקודם - אם הצבע הקודם הוא . לעומתו, setTransform יכול לשמש גם כפילטר - הוא מוסיף (או מוריד) צבע , מהצבע הקיים כרגע באובייקט. אם למשל ה movieclip המקורי הוא אדום מלא , וע"י שימוש ב - setTransform נוסיף לו צבע ירוק מלא, ה movieclip שלנו יצבע בצהוב. כמו כן, אפשר בעזרתו לקבוע גם צבע מדוייק (בדומה ל - setRGB) וגם להשפיע על השקיפות של האובייקט. |
|
|
|
לצורך שינוי הצבע בשיטה זו יש לנו צורך לפחות ב - 2 פקודות על כל כפתור: השורה הראשונה מגדירה מאפיין צבע ל movieclip שלנו. ניתן לכתוב את השורה הבאה גם באופן חד פעמי עם תחילת הסרט - אין זה משנה איפה היא נרשמת, כל עוד אנחנו מגדירים את מאפיין הצבע לאובייקט שלנו לפני שאנחנו מנסים לשנות את הצבע שלו. |
myObjColor = new color(objectToColor); |
|
|
השורה השנייה משייכת את נתוני הצבע החדשים למאפיין הצבע של ה movieclip שלנו בעזרת הפקודה setRGB.
הקידומת "0x" לפני המספר מסמנת לפלאש שהמספר הוא מספר הקסדצימלי. |
myObjColor.setRGB(0xFF0000); |
| setRGB משנה את הצבע לפי ערכים הקסדצימליים בלבד - אם נרצה לעבוד עם מספרים דצימליים (מספרים בבסיס 10 כמו שאנחנו סופרים), נצטרך לבנות קוד שימיר את המספרים שבין 0 ל - 255 (לכל צבע) למספר הקסדצימלי. בקובץ המצורף יש קוד שממיר את הערכים של כל צבע למספר הקסדצימלי ובעזרתו משנה את הצבע לצבע שונה מהצבעים המוצעים. |
|
להורדת קובץ דוגמא - לחץ כאן בהצלחה |