יום שני, 9 באוגוסט 2010

קוד פתוח, והפעם - ההבדל בין הבמה (Stage) לאובייקט עצמו (This)


כדי להוסיף אוביקטים לקובץ פלאש שלנו אנחנו משתמשים בפונקציה addChild. את זה כולם יודעים.
גם את אוביקט הבמה (Stage) אנחנו מכירים, בעיקר כדי לקבוע משתנים הנוגעים לגודל הבמה הנראה לעין (stageWidth , stageHeight) או את האופן שבו הבמה משתנה בעת שינוי גודלה וכו' (ראה הסבר מפורט על הפונקציות שבמחלקה הזו).

מה שלא כולם יודעים הוא שאובייקט הבמה הוא חלק בלתי נפרד מהתוכנה שלנו. יש רק אחד כזה ויש לו מאפיינים מאד מיוחדים. הקובץ המצורף מציג את מקצתם.


הנה הקוד להורדה כולל דוגמאות.

תקציר הממצאים שלי:
1. הבמה מכירה את כל האובייקטים המצורפים לאוביקט הראשי (this) של התוכנה. יש אפשרות לגשת מתוכה לכל האוביקטים שצורפו לתוכנה, גם אלה שצורפו לראשי ולא ישירות אליה. ונקודה זו לא עובדת להיפך...
2. הבמה נמצאת מעל כל אוביקט אחר שצורף לראשי (מבחינת Z-index). כלומר, כל האוביקטים שמצורפים לבמה ימוקמו מעל אוביקטים שצורפו לראשי.