אתה נמצא כאן מדריכים  >>  Flash - משתמשים אונליין  >>  יצירת הסרטון ב-Flash

יצירת הסרטון ב-Flash

בניית הסרטון ב-Flash היא לא פחות חשובה מהסקריפט ב-PHP, שכן אנו מבססים את התוכנית שלנו על טכנולוגיית ה-Flash. בניית הסרטון היא לא ממש מסובכת, ומשתמשים קצת ב-ActionScript, שהיא שפת הסקריפטים ב-Flash.
רצוי לפתוח את קובץ העריכה של הסרטון הזה, users_online.fla, בתוכנת העריכה של Flash.

בסרטון ה-Flash במדריך זה יש 2 אלמנטים עיקריים: קליפ שרץ בזמן הטעינה (counting) וקליפ שמציג את מספר המשתמשים אונליין (users online). בנוסף לאלמנטים אלו, אנו משתמשים גם קצת ב-ActionScript כדי להעלות נתונים מהקובץ החיצוני ובכדי להציג את מספר המשתמשים אונליין כאשר הנתונים מגיעים.

הסרטון מחולק ל-2: החלק הראשון הוא הפריים הראשון (בו מעלים את הנתונים מהסקריפט ב-PHP, ומציגים את קליפ הטעינה עד אשר הנתונים מגיעים ל-Flash), והחלק השני הוא מהפריים השני והלאה (בו מציגים את מספר המשתמשים אונליין בצורה סטטית).

לקליפ הטעינה נתנו את השם refresh_clip, ולקליפ המציג את מספר המשתמשים אונליין קראנו show_users_clip.

העלאת הנתונים והצגת קליפ הטעינה

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

script location: _root (in frame 1)
_root.show_users_clip._visible = false;
/*מסתיר את הקליפ של הצגת מספר
המשתמשים אונליין.
(נמצא מהפריים הראשון עד לאחרון).
*/

_root.refresh_clip._visible = true;
/*מראה את הקליפ של הטעינה.
(נמצא רק בפריים הראשון).
*/

_root.show_users_clip.loadVariables("http://domain/path/usr_online.php");
/*מעלה את הנתונים מהסקריפט usr_online.php
לתוך הקליפ של הצגת מספר המשתמשים אונליין.
יש לציין את ה-URL המלא אל הסקריפט ב-PHP.
*/

stop();
/*עוצר את הסרטון מלהמשיך לפריים הבא,
שאותו נמשיך לנגן מאוחר יותר.
*/

קבלת הנתונים והצגת הקליפ של מספר המשתמשים אונליין

את הנתונים שאנו מעלים מהסקריפט ב-PHP, אנו מעלים לתוך הקליפ של הצגת מספר המשתמשים אונליין. על הקליפ של מספר המשתמשים הוספנו עוד סקריפט קצר ב-Flash שירוץ כאשר הנתונים הועלו במלואם ל-Flash, לתוך הקליפ של מספר המשתמשים. בסקריפט זה אנו נסתיר את קליפ הטעינה, נראה את הקליפ של מספר המשתמשים ונמשיך לנגן את הסרטון מהפריים השני.

script location: _root.show_users_clip (on the object - in all frames, needed for frame 1)
onClipEvent (data)
/*הפרוצדורה הזו רצה כאשר הקליפ הנוכחי
(show_users_clip) מקבל את מלוא הנתונים
שהחלו לעלות מוקדם יותר (בסקריפט מעל).
*/
 {
   _root.refresh_clip._visible = false;
/*מסתיר את קליפ הטעינה.
לא חייב להסתיר זאת, משום שממשיכים לנגן את
הסרטון מפריים 2, בו הקליפ הנ"ל לא נמצא.
*/

   this._visible = true;
/*מראה את הקליפ של מספר המשתמשים אונליין.
this מצביע לקליפ הנ"ל היות והסקריפט ממוקם עליו.
*/

   _root.gotoAndPlay(2);
/*ממשיך לנגן את הסרטון מפריים 2.*/

}

קובץ הנתונים ב-PHP מוציא פלט עם משתנה ששמו הוא usr_online וערכו הוא מספר המשתמשים אונליין. בתוך הקליפ של show_users_clip יש שדה טקסט דינמי, ששמו הוא כשמו של המשתנה המתקבל מהסקריפט ב-PHP - usr_online. כאשר קובץ הנתונים נטען ל-Flash לתוך הקליפ, אז ערכו של שדה הטקסט הנ"ל משתנה אוטומטית לערכו של הנתון המתקבל מ-PHP. לכן כאשר אנו מראים את הקליפ, אז רואים את מספר המשתמשים אונליין המעודכן.

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

ניתן לשנות את פרק הזמן של עדכון הנתונים מהסקריפט ב-PHP ע"י שינוי של אורך הסקריפט (מתיחה או קיצור האורך של הקליפ של מספר המשתמשים אונליין). כל פריים מגדיר פרק זמן של 0.2 שניות (וכל שנייה מתפרסת על פני 5 פריימים) - עשו את החישוב של מספר הפריימים לקבלת פרק הזמן הרצוי. כאשר משנים את פרק הזמן בסרטון ה-Flash, רצוי גם לכוון את פרק הזמן בסקריפט ה-PHP, ועדיף שפרק הזמן בסקריפט של PHP יהיה קצת יותר ארוך.


תגובות בנושא


לדף הקודםקובץ הנתונים ב-PHP -הקודם
לתחילת הדףלתחילת הדף
הבא- שמירת מידע בינארי ב-MySQLלדף הבא