בחזרה לעמוד הבית

שינוי צבע ע"י שימוש בפקודה setRGB

בשיעור זה נלמד כיצד ניתן לשנות צבע של movieclip מסוים ע"י שימוש בפקודה setTransform.
הידע הנדרש - הבנה ממוצעת בתכנות בפלאש 5, שימוש בפונקציות (קישור לשיעור פונקציות)
שינוי בצבע בפלאש 5 מתאפשר ע"י שימוש באחת משתי שיטות קיימות - הראשונה והקלה יותר, setRGB והשנייה והמעט מורכבת יותר , setTransform. ההבדל בין הפקודה setRGB לפקודה setTransorm הוא באופן השינוי אותו הן עושות - setRGB קובע צבע בגוון מסויים לאובייקט (לדוגמא צבע אדום - 0000FF#) בהתחשב בצבע הקודם - אם הצבע הקודם הוא . לעומתו, setTransform יכול לשמש גם כפילטר - הוא מוסיף (או מוריד) צבע , מהצבע הקיים כרגע באובייקט. אם למשל ה movieclip המקורי הוא אדום מלא , וע"י שימוש ב - setTransform נוסיף לו צבע ירוק מלא, ה movieclip שלנו יצבע בצהוב. כמו כן, אפשר בעזרתו לקבוע גם צבע מדוייק (בדומה ל - setRGB) וגם להשפיע על השקיפות של האובייקט.



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

		myObjColor = new color(objectToColor);
choosing new color from the action panel

השורה השנייה משייכת את נתוני הצבע החדשים למאפיין הצבע של ה movieclip שלנו בעזרת הפקודה setRGB.
הקידומת "0x" לפני המספר מסמנת לפלאש שהמספר הוא מספר הקסדצימלי.
		myObjColor.setRGB(0xFF0000);
setRGB משנה את הצבע לפי ערכים הקסדצימליים בלבד - אם נרצה לעבוד עם מספרים דצימליים (מספרים בבסיס 10 כמו שאנחנו סופרים), נצטרך לבנות קוד שימיר את המספרים שבין 0 ל - 255 (לכל צבע) למספר הקסדצימלי. בקובץ המצורף יש קוד שממיר את הערכים של כל צבע למספר הקסדצימלי ובעזרתו משנה את הצבע לצבע שונה מהצבעים המוצעים.

להורדת קובץ דוגמא - לחץ כאן

									בהצלחה