תחילה הגדרתי 4 משתנים שהיו חיוניים לי במהלך הקוד:
קוד:
var myLoadingTime:Number = 25
מגדיר את הזמן בין קריאה לקריאה להגדלת האטימות של התמונה ב-5. ערך סביר הוא 25, אך הוא ניתן לשינוי בהתאם לצרכים.
קוד:
var timeToLoad:Number = 3
מגדיר את הזמן שלוקח בין כל קריאה להעלאת תמונה (הזמן בו כל התומנה מוצגת על המסך). מוגדר בשניות, כלומר 3 שניות.
קוד:
var mcCount:Number = 0
מונה את ה-MC של התמונות. הספירה מתחילה מ-0.
קוד:
var pozOfPic:Array = ["3.1","225"];
משתנה מסוג מערך אשר מגדיר את המיקום של התמונת של המסך באופן הבא - [x,y]
הערה: כל המשתנים הללו, חוץ מהמשתנה השלישי שאין צורך ממשי לשנותו, הוצבו כדי שתוכל לשנותם במקום לשנות חלקים בקוד.
עכשיו נתחיל עם החלק המרכזי בקוד - יש לנו 3 פונקציות:
• הפונקציה הכללית שקוראת כל פרק זמן לתמונות
• צירוף התמונה למסך
• שליטה בשקיפות התמונה
פונקציה ראשונה: הפונקציה הכללית שקוראת כל פרק זמן לתמונות
קוד:
function callThePIC(){
_root.uploadPic1()
b = setInterval(uploadPic2,myLoadingTime);
}
הפונקציה, הנקראת callThePIC, קוראת לפונקציה 2, המעלה את התמונות בשקיפות 0 לבמה וקובעת קריאה מתוזמנת לפונקציה אשר מעלה את אטימות התמונה (פוקנציה 3). התזמון הוא בסך הערך הראשון שלנו. שחקו עם הערך לאחר שהקוד מוכן כדי להגיע ל"פייד" שרציתם.
קוד:
a = setInterval(callThePIC,timeToLoad*1000)
לאחר כתיבת הפונקציה מתבצעת קריאה מתוזמנת הראשונה בסך הערך השני שלי כפול 1000 (פקודת התזמון עובדת על ערכים של אלפי שניות, לכן ערך 1000 יקרא לפונקציה כל שניה אחת. מכאן החישוב)
פונקציה שנייה: צירוף התמונה למסך
קוד:
function uploadPic1(){
mcCount++
_root.attachMovie("mc"+mcCount,"mc"+mcCount,getNextHighestDepth())
_root["mc"+mcCount]._x = pozOfPic[0]
_root["mc"+mcCount]._y = pozOfPic[1]
_root["mc"+mcCount]._alpha = 0
}
הפונקציה עושה את הדברים הבאים:
• מקדמת את המשתנה לשם ה-MC, כדי שלא תהייה כפילות בשמות (2 MC בעלי אותו שם).
(הערה: צריך לזכור לתת לכל המווי קליפים linkage בשמות mc1, mc2, mc3 וכו'...)
• מוסיפה את ה-MC לבמה
• מגדירה את מיקום ה-X וה-Y שלו עפ"י המשתנים במערך
• מגדירה את השקיפות ל-0
פונקציה שלישית: שליטה בשקיפות התמונה
כאן אנחנו מגידירים את הפונקציה שקראנו לה קודם, בתוך הפונקציה הראשונה.
קוד:
function uploadPic2(){
_root["mc"+mcCount]._alpha+=5
if (_root["mc"+mcCount]._alpha >= 100){
b = clearInterval(b)
_root["mc"+mcCount-1].unloadMovie()
}
}
בפונקציה זאת, האחרונה, אנחנו מבצעים מס' דברים:
• מעלים את השקיפות של ה-MC במס' מסויים, 5 הוא ערך טוב.
•
בודקים: האם אטימות התמונה היא מלאה (האם alpha גדול מ-0)? אם כן, אנחנו מבטלים את הקריאה המתוזמנת לפונקציה ע"י הפקודה המנוגדת לה, ובנוסף מחזירים אחורה את הערך של מונה ה-MC ומוחקים את התמונה שכבר נמצאת מאחורי התמונה החדשה
הערה: מחיקת התמונה נחוצה במקרים הבם יש הרבה תמונת, כי התמונות תישארנה על הפלאש ותכביד על המסמך והמשחב כולו
זהו, כאן נגמר הקוד. אני מקווה שזה היה מובן ולא ברמה גבוהה מדיי. מקווה שתבין ולא תעתיק את הקוד, כי כך לא תלמד לעולם
בהצלחה בפורום שלנו.
והנה הקוד השלם:
קוד:
var myLoadingTime:Number = 25
var timeToLoad:Number = 3
var mcCount:Number = 0
var pozOfPic:Array = ["3.1","225"];
function callThePIC(){
_root.uploadPic1()
b = setInterval(uploadPic2,myLoadingTime);
}
a = setInterval(callThePIC,timeToLoad*1000)
function uploadPic1(){
mcCount++
_root.attachMovie("mc"+mcCount,"mc"+mcCount,getNextHighestDepth())
_root["mc"+mcCount]._x = pozOfPic[0]
_root["mc"+mcCount]._y = pozOfPic[1]
_root["mc"+mcCount]._alpha = 0
}
function uploadPic2(){
_root["mc"+mcCount]._alpha+=5
if (_root["mc"+mcCount]._alpha >= 100){
b = clearInterval(b)
_root["mc"+mcCount-1].unloadMovie()
}
}