28-08-2005, 14:30
|
|
|
|
חבר מתאריך: 10.10.04
הודעות: 2,319
|
|
אני לא ממליץ לך לבנות פרילודר פריימים
זו שיטה מיושנת שלא משקפת את המציאות.
עדיף פרילודר שטוען KBs...
אוקיי, אז ככה:
דבר ראשון, תגדיר את המשתנים שלך בפריים הראשון ושים סטופ על מנת שהסרט לא יתקדם לפני השטעינה הסתיימה :
קוד:
stop();
var KbTotal = _root.getBytesTotal()
var KbLoaded
var percent
כפי שאתה רואה, אנחנו עובדים כאן עם שלושה משתנים:
מייצג את משקל הבמה כולה ב קילובייטס = KbTotal
מייצג את הקילובייטס שנטענו עד עתה = KbLoaded
מייצג כמובן את האחוז = percent
לאחר מכן, נגדיר פונקציית EnterFrame כדי שנוכל לדעת את מספר האחוזים שנטענו בכל רגע.
במקרה הזה נשתמש באנטרפריים של הבאר עצמו:
קוד PHP:
_root.bar.onEnterFrame = function() { KbLoaded = _root.getBytesLoaded() _root.percent = Math.round(_root.KbLoaded/_root.KbTotal *100 ); this.gotoAndStop(_root.percent); _root.dynamic_txt.text=_root.percent+"%"; if (_root.percent>=100)_root.gotoAndStop("start"); }
אתה יכול לראות תחילה איך אני מגדיר את KbLoaded באנטרפריים עלמנת שיקבל את מספר הקילובייטס שנטען עד עתה בכל רגע ורגע.
בהמשך אני מגדיר את Percent על ידי חילוק הקילובייטס שנטענו עד עתה במשקל הקילובייטס הכולל של הסרט והכפלתם ב 100, כך שיתקבל אחוז.
באחוז הזה נשתמש כדי לדעת לאיזה פריים לדלג בתוך באר הטעינה, שבתוכו קיימים 100 פריימים (ניתן לעשות בעזרת motion tween פשוט)
כמובן שאפשר גם לא להשתמש באנימציה כלל, כך שבמקום להשתמש באחוז עלמנת לדעת לאיזה פריים לדלג ניתן להשתמש בו בכדי לשלוט בxscale של הבאר, אך לדעתי שיטת האנימציה במקרה הזה יותר יעלה מכיוון שתוכל לבנות כל אנימציה שתרצה, ולא רק באר שמתקדם.
בשורה הבאה תוכל לראות כיצד אני משתמש במשתנה percent גם עלמנת להציג את האחוז בתיבת טקסט דינמית בעלת האינסטנס:dynamic_txt.
התנאי הסופי בודק בעצם אם האחוז הגיע ל 100, ואם כן הוא ימשיך הלאה, לפריים/סצנה הבאה, "start".
בהצלחה...
_____________________________________
BugY
Animation & ActionScriptin
נערך לאחרונה ע"י BugY בתאריך 28-08-2005 בשעה 14:33.
|