לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #2  
ישן 06-01-2007, 14:38
צלמית המשתמש של CyberReaper
  CyberReaper CyberReaper אינו מחובר  
 
חבר מתאריך: 02.08.06
הודעות: 184
שתי אפשרויות
בתגובה להודעה מספר 1 שנכתבה על ידי Costa שמתחילה ב "טעינה לקובץ SWF שנפתח ע"י loadMovie בSWF אחר-איך?"

אוקי קודם כל הקדמה קצרה לגבי FWF (פלאש בתוך פלאש).

כאשר טוענים אנימציות פלאש לתוך קובץ פלאש קיים האנימציה מתחלקת לשני איברים :
prarent - הורה (מארח)
child - ילד (שלוחה)

ההבדל בין השנים הוא לגבי איך השניים מדברים זה עם זה ,קצת קשה להסביר את זה אך העיקרון הוא מאוד ברור ,אנסה להסביר את זה בעזרת דוגמא ,נניח שיש לי שני קבצי פלאש שלאחד אני אקרא child.swf ולשני אני אקרא parent.swf.
עכשיו אני אצור MC בתוך parent ואקרא לו childMC.
אני טוען את child.swf במקום childMC בעזרת הקוד הבא :

קוד:
loadMovie ("child.swf" ,"childMC"(


מה שקרה כרגע הוא שמבחינת child.swf הוא כבר לא עצמאי אלא הוא שלוחה של parent , כלאמר הוא הפך לאיבר child.

כלאמר , אם אני רוצה לדבר עם איברים שבתוכו אני חייב לזכור שהפקודה root תתיחס למאחר ברמה הכי גבוהה (parent.swf).

ועכשיו אני מקווה שהבנת לפחות חלק מזה ואפשר להתחיל לחשוב מה הבעיה , אני רואה שתי אפשרויות:

1) אם כאשר יצרת את הטעינה השתמשת בפקודה _root ,אז בעצם מה שהסרטון שלך יבדוק זה האם המארח שלו נטען ולא אם הוא עצמו נטען ולכן הוא לא יבצע את תפקידו ולא תראה אותו.
עלייך להשתמש בפקודה this (או ב _parent במקרה והטעינה שלך היא MC) בכדי שפלאש יבדוק האם האיבר הנוכחי נטען.

2) אם אתה מנסה להפעיל את הפלאש מהמחשב שלך הדברים נטענים מיידית ולכן דף טעינה חסר חשיבות לפני שהקבצים באינטרנט.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 09-01-2007, 00:45
  Costa Costa אינו מחובר  
 
חבר מתאריך: 03.07.06
הודעות: 195
אוקי, קודם כל תודה לשנייכם על הרצון לעזור, כפי שאמרתי אני חלש בAS :(
בתגובה להודעה מספר 5 שנכתבה על ידי tralala שמתחילה ב "נראה לי שעוד לא הבנת את העקרון..."

הינה הקוד שהשתמשתי בו, זה לפי איזה מדריך שמצאתי בעבר שמישהו הביא כאן בפורום:

קוד:
var mcl:MovieClipLoader = new MovieClipLoader(); var mclL:Object = new Object(); mclL.onLoadProgress = function(target,loaded,total) { _root.loader.percent.text = Math.round((loaded/total) * 100) + "%"; } mclL.onLoadInit = function() { //_root.loader._visible = false; _root.loader.percent.text = ""; } mcl.addListener(mclL); b1.onRollOver = function(){ _root.showImage._visible = true; } b1.onRollOut = function(){ _root.showImage._visible = false; } b1.onRelease = function() { loader._visible = true; mcl.loadClip("Files/Anim1.swf",_root.TV); _root.TV._xscale=45; _root.TV._yscale=44; _root.infoField = ("תיאור האנימציה בלה בלה בלה"); _root.downloadField.gotoAndStop("non"); //מכבה את המוסיקה באתר כדי שישמעו את האנימציה בלבד _root.musicPlayer.buttons.gotoAndStop("off"); unloadMovie("_root.musicPlayer.soundHolder"); } //b2 b2.onRollOver = function(){ _root.showImage._visible = true; } b2.onRollOut = function(){ _root.showImage._visible = false; } b2.onRelease = function() { loader._visible = true; mcl.loadClip("Files/Anim2.swf",_root.TV); _root.TV._xscale=58; _root.TV._yscale=55; _root.infoField = ("תיאור האנימציה השניה - בלה בלה בלה"); _root.downloadField.gotoAndStop("non"); //מכבה את המוסיקה _root.musicPlayer.buttons.gotoAndStop("off"); unloadMovie("_root.musicPlayer.soundHolder"); }


אז מה הולך כאן? ככה:
על הבמה יש אובייקט שנקרא TV שאליו נטענים האנימציות מבחוץ!
לTV הזה יש גודל מסויים 350 לרוחב ו320 לגובה בקיצר הייתי צריך לגרום לאנימציות איכשהו
להכנס לממדים האלה, אז השתמשתי ב- xscale (שיטה מעפנה אבל לא הייתה לי ברירה )

עוד אובייקט זה: loader שנמצא מעל לTV ובוא מופיעים מספר האחוזים של הסרטון שנטען מבחוץ.
עוד אובייקט שלא כ"כ חשוב שאסביר אבל שיהיה, זה infoField שמציג את המידע אודות האנימציה.

בכל אופן הקוד הזה עובד טוב על אנימציות קצרות, אבל על אנימציות ארוכות לא!
ומה שהכי משגע אותי זה שעשיתי טעינה טובה לכל האנימציות אינדיבידואלית לכל SWF, וזה לא מוצג בכלל כשהן נטענות אל תוך הSWF הראשי, רק לשניה רואים את הטעינה וזהו.
אשמח לעזרה בנושא.

נערך לאחרונה ע"י Costa בתאריך 09-01-2007 בשעה 00:48.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 10-01-2007, 17:56
צלמית המשתמש של CyberReaper
  CyberReaper CyberReaper אינו מחובר  
 
חבר מתאריך: 02.08.06
הודעות: 184
בתגובה להודעה מספר 6 שנכתבה על ידי Costa שמתחילה ב "אוקי, קודם כל תודה לשנייכם על הרצון לעזור, כפי שאמרתי אני חלש בAS :("

טוב נראה לי שאתה יותר חזק ממני בקוד אם אתה מנסה לכתוב טעינה פשוטה בכזאת דרך ארוכה ,בעיקרון אני לא יכול לעזור לך לתקן טעויות כי אני אומר את האמת ,אין לי מושג מה הולך פה.
כל מה שמצאתי פה זה שאתה מגדיר הרבה מאוד משתנים ויוצר הרבה דברים , אבל אין פה שורה אחת ששואלת את הפלאש "האנימציה נטענה?" (טוב ת'אמת שמצאתי משהו אבל אני לא בטוח אם זה יעבוד).

בכל אופן ,כשאתה בונה מסך טעינה אתה יכול לעשות אותו בשלושה שורות פשוטות ומעבר לזה זה סתם משחקים בשביל לעשות אותו יפה :

הפרילודר שלך יעבוד לפי קטע קוד כזה אם הטעינה היא MC בעלת שני פריימים (כאן הטעינה היא MC של הפלאש הנטען!) :

קוד:
//frame1 _parent.stop(); loadedVar = _parent.getBytesLoaded (); TotalVar = _parent.getBytesTotal (); progressVar = loadedVar/TotalVar; if (progressVar){ _parent.play } //frame2 this.gotoAndPlay (1);


כעיקרון זה מחשב לפי הסדר הזה :

כמה ביטים נטענו מהמארח
כמה ביטים גודל המארח

כמה זה היחס נטען חלקי כללי

אחרי זה אני שואל , אם היחס הוא 1 (true בבינארי) אז תגיד למארח לזוז קדימה ,כעיקרון יכולתי להכפיל את progress במאה ואז הייתי מקבל אחוזים במקום שבר והייתי יכול להשתמש בזה כדי להציג את האחוזים שנטענו באיזה תיבה , אבל כמו שאמרתי , זה שיפורי קוסמטיקה.

תנסה לזכור : קוד טוב זה קוד פשוט וקצר.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 10-01-2007, 18:14
צלמית המשתמש של CyberReaper
  CyberReaper CyberReaper אינו מחובר  
 
חבר מתאריך: 02.08.06
הודעות: 184
לאחר קריאה שניה...
בתגובה להודעה מספר 1 שנכתבה על ידי Costa שמתחילה ב "טעינה לקובץ SWF שנפתח ע"י loadMovie בSWF אחר-איך?"

והצצה בתגובה של ג'וג'ו ושלי אני חושב שלא הסברתי לך טוב את העיקרון באמת. זה עסק קצת מסובך להסביר אבל אני אנסה שוב בכל זאת.

אני הולך לוותר על ההסבר של העיקרון כרגע ורק להסביר ע"י דוגמא ואחרי זה לנסות למלא את החסר. מקווה שתבין.

יש לי FLA המכיל בתוכו מספר MCים ,

קוד:
boxMC antMC ballMC


חלק מהאלמנטים האלו נמצאים אחד בתוך השני
אני אציג את זה באותו אופן שווינדוס מציג את התפריטים שלו :

קוד:
FLA > box > ant FLA > ball


כלאמר בתוך הקופסא יש נמלה וליד הקופסא יש כדור.

עכשיו ,לפי ההסבר הזה הם מתייחסים זה לזה באופן הפוך, מבחינת הנמלה העצמים האחרים הם :

כדור - מחוץ למארח
קופסא - מארח

או בתכנות AS :

קוד:
this._parent = box (המארח) this._parent._parent.ball (הפרנט השני שכתבתי היה בשביל לומר שכדור נמצא מחוץ לקופסא)


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

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

טוב נגמרו לי הרעיונות לאיך להמחיש לך את זה , שיהיה בהצלחה ^^" , תנסה לשחק עם זה קצת , זה יתבהר.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 09:29

הדף נוצר ב 0.03 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר