![ישן](https://static.fresh.co.il/images/vBulletin/statusicon/post_old.gif)
22-04-2006, 18:22
|
![צלמית המשתמש של noam906](image.php?u=72511&dateline=1173213438) |
|
|
חבר מתאריך: 21.09.05
הודעות: 5,321
|
|
אתה יודע מה, ננסה את זה בצורה אחרת.
תוסיף בהתחלה, לפני ה-stop(), הגדרת משתנה:
ונוסיף גם את השורות הבאות:
ואת השורה:
הפלאש נותן לך הערה על שורה 9, כלומר על השורה:
קוד:
this.gotoAndStop(_root.percent);
המילה this מתייחסת לאובייקט עליו כתוב הקוד, אבל קוד זה רשום על הפריים הראשי ולכן נשנה את this ל-_root.
נשנה גם את השורה ששינית בהודעה הקודמת - ננסה דרך בדיקה שונה.
עכשיו הקוד אמור להיראות כך:
קוד:
stop();
var i:Number = 0
var KbTotal = _root.getBytesTotal()
var KbLoaded
var percent
_root.bar.onEnterFrame = function()
{
i++
KbLoaded = _root.getBytesLoaded()
_root.percent = Math.round(_root.KbLoaded/_root.KbTotal *100 );
_root.gotoAndStop(_root.percent);
_root.dynamic_txt.text=_root.percent+"%";
if (_root.percent>=100){
_root.gotoAndPlay("start");
trace(i)
}
הסבר קטן: המשתנה i מייצג את מס' הפריימים שעברו עד שהסרטון נטען (מכיוון שבכל פריים קידמו את i ב-1).
בסוף הטעינה, במשפט ה-if כאשר percent שווה ל-100 הוצאנו שפלט של המשתנה i. אם הפרילואדר תקין, i יראה מספר גדול מ-0.
אם המספר יהיה שווה ל-1, תוכל להסיק כי התוכנית קלה ולכן הסרטון נטען תוך פריים אחד.
אם המספר יהיה שווה ל-0, תוכן להבין כי הטעינה לא פעלה (כי i לא קודם, אפילו לא ב-1).
מקווה שהבנת את דרך הבדיקה הזאתי.
ד"א - אם אתה מגלה שהתוכנית פשוט קלה והטעינה אורכת זמן קצר - תוכל להוריד את הגדרת המשתנה והפעולות עליו.
בהצלחה ![Smile](images/smilies/smile.gif)
_____________________________________
בברכה, נעם בריקמן
|