מהו קובץ SWF?
קובץ SWF הוא קובץ אנימציה שנוצר עם Adobe Flash. הוא עשוי להכיל סוגים שונים של אלמנטים כגון טקסט, תמונות וקטוריות, תמונות רסטר, סקריפטים, אובייקטים כגון עיגולים, קווים, ריבועים ומלבן ליצירת האנימציה. קובצי SWF מסדרים את פריטי המולטימדיה האלה במסגרות שניתן לנגן במסגרות שונות לשנייה (fps). SWF פירושו קובץ אינטרנט קצר, אך ידוע גם בעל פורמט Shockwave.
יישומים שיכלו לפתוח קבצי SWF* כללו את Adobe Flash Player (שהופסק כעת) ואת Eltima Elmedia Player.
פורמט קובץ SWF - מידע נוסף
קובצי SWF שימשו לאחסון כקבצים בינאריים לדיסק. פורמט הקובץ SWF שימש לפיתוח אנימציות ומשחקים שניתן להטמיע באתרי אינטרנט ולשחק גם באופן עצמאי. זה גם תמך בסרטונים וצלילים שנתנו למפתחים הרבה אפשרויות ליצירת יישומי מולטימדיה אינטראקטיביים. ניתן להפעיל קובצי SWF בדפדפני אינטרנט שבהם מותקנת Adobe Shockwave. Adobe Flash הופסק בדצמבר 2020 עקב החסרונות ובעיות האבטחה שלה.
היסטוריה קצרה של פורמט קובץ SWF
פורמט קובץ SWF תוכנן במקור על ידי FutureWave Software, כדי להציג אנימציות מתוך כוונה לרוץ על תוכנת נגן בכל מערכת עם חיבורי רשת איטיים יותר, תוך שמירה על גודל הקובץ קטן. בדצמבר 1996 Macromedia החזיקה ב-FutureWave והמירה ל-Macromedia Flash 1.0.
בשנת 2005, Macromedia נרכשה על ידי Adobe, אשר הכריזה על SWF כחלק מפרויקט הקוד הפתוח שלה בשנת 2008. במהלך אותה שנה, Adobe פרסמה קוד למנועי האינטרנט הפופולריים בעולם כדי לאפשר להם סריקה והוספה לאינדקס של קבצי SWF. עם זאת, מכיוון שנראה שקובצי SWF הופכים לפורמט סטנדרטי לפרסום תוכן פלאש באינטרנט, ה-SWF תוקן לפורמט אינטרנט קטן.
מבנה קובץ SWF
נתיב הוא האלמנט הגרפי הבסיסי ב-SWF, שהוא רצף של מקטעים של אלמנטים בסיסיים, החל מקווים פשוטים ועד עקומות בזייר. האלמנטים הפשוטים האלה עוזרים גם ליצור פרימיטיבים נוספים כמו קוביות, אליפסות ואפילו טקסטים. לפרימיטיבים הגרפיים ב-SWF יש דמיון עם האלמנטים הגרפיים של פורמטים אחרים כמו SVG ו-MPEG-4 BIFS.
הצגת רשימות ושימוש חוזר/שנוי באלמנטים שכבר מוגדרים מותרים גם הם על ידי הפורמט. ניתן להשוות את פורמט הזרם הבינארי של SWF לאטומי QuickTime שהוא דומה מבחינת תג, גודל ומטען. פורמט הזרם הבינארי מאפשר לשחקנים הישנים יותר לדלג על תכנים שאינם נתמכים. למרות שגרסאות מקוריות של SWF הוגבלו להציע גרפיקה וקטורית ותמונות, לכן גרסאות חדשות מאפשרות גם תוכן אודיו ווידאו.
API חדש, ברמה נמוכה של 3D של Flash Player בשם “Stage3D” הוצג בגרסה 11. ממשק API זה תוכנן להיות מקביל ל-OpenGL או Direct3D. Stage3D מגדיר צבעים בשפה ברמה נמוכה הנקראת Adobe Graphics Assembly Language (AGAL). להלן מספר סוגי נתונים בסיסיים של פורמט קובץ SWF.
קואורדינטות
קואורדינטות XY בפורמט קובץ SWF מאוחסנות כמספרים שלמים ונמדדות ביחידה הנקראת טוויפ. טוויפ מורכב מ-1/20 של פיקסל לוגי. פיקסל לוגי ופיקסל המסך זהים כאשר הקובץ מופעל ללא שינוי קנה מידה ב-100%.
סוגי מספרים שלמים וסדר בתים
סוגי המספרים השלמים החתומים והלא חתומים של 8, 16, 32 ו-64 סיביות מותרים בפורמט קובץ SWF. סדר בתים ליטל-אנדיאן משמש לאחסון ערכי מספרים שלמים. למרות שבתוך בתים, סדר הסיביות מאוחסן ב- big-endian. כל ערכי המספרים השלמים צריכים להיות מיושרים בתים. מספרים שלמים בסימנים מיוצגים על ידי שימוש בתבניות סיביות משלימות של 2 מסורתיות.
מספרים בנקודה קבועה
שני סוגים של מספרי נקודה קבועה נתמכים על ידי פורמט קובץ SWF, כלומר 32 ו-16 סיביות.
מספרים עשרוניים
SWF 8 ומעלה משתמש בשלושה סוגים של מספרי נקודה צפה (FLOAT, FLOAT 16, DOUBLE) התואמים לתקן IEEE 754 של סוגי נקודה צפה.
מספרים שלמים מקודדים
סוג אחד של מספר שלם מקודד נתמך על ידי SWF 9 ואילך עם מספר משתנה של בתים.