כיצד להמיר פרוייקט מפלאש להקס - חלק ראשון


(Itzik Arzoni) #1

הכנה לקראת המרה

אנסה במאמר זה להסביר את השלבים שצריך לעשות לפני שניגשים להמרה של פרוייקט פלאש להקס באמצעות OpenFl.
#####הרבה מאוד שואלים אותי בזמן האחרון, ובצדק, מה יהיה עם פלאש?
האמת היא שאני לא יודע. אני אוהב את פלאש, אני חושב שזו צורת התכנות והפיתוח המתאימה ביותר לפרייקטים של משחקים או ממשקים מורכבים ואנימטיבים, אבל אני גם יודע שאדובי הפנו את הגב אל הפלאגאין שלהם, ואפילו אם ייתמכו בתוצרי פלאש למיניהם, זה יהיה רחוק מתכנות פלאש ActionScript כפי שהכרנו.
#####הקס, וספציפית OpenFl נותנים תשובה לדבר הזה.
OpenFl, כפי שתיארתי בעבר, בעצם מאפשרת תכנות עם ה API, ז"א עם כל המחלקות וצורת העבודה, של פלאש בהקס. לאחר מכן, היא מאפשרת לייצא את הפרוייקט לפלטפורמות רבות עם שינוי קוד מזערי.
למען האמת, אבל, כדאי לדעת, שזה לא כל כך פשוט בפעם הראשונה. ייצוא פרוייקט לפלטפורמות רבות עם שינוי קוד מזערי אפשרי בהחלט - במידה ומראש מפתחים ב OpenFl, ומתייחסים לכל הצרכים, האופטימיזציות והכלים שיאפשרו זאת. לעומת זאת, כאשר מדובר במוצר שנועד מראש להיות רק על גבי נגני פלאש, ועובר המרה לשפה אחרת שאמורה לרוץ על כל פלטפורמה, זה נועד להתקל בקשיים.

הקשיים שעלולים להתקל בהם בהמרה מהסוג הזה

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

  • פלאש זו הטכנולוגיה הכי טובה לגרפיקה וקטורית.
    מה שאומר, שכל פלטפורמה אחרת לא מסתדרת טוב עם גרפיקה וקטורית. מומלץ מאוד, עוד לפני שניגשים להמרת הפרוייקט, לוודא שכל המוביקליפים וקטעי הגרפיקה מועברים להיות ביטמפ. את זה עוד אפשר לייצר בקוד, אם מציירים את הגרפיקה לתוך אובייקט ביטמאפ, אבל זה לא מסתיים פה.
  • פלאש זו הטכנולוגיה הטובה ביותר לאנימציות של טיימליין.
    מה שאומר שמאוד כדאי למצוא תחליפים לאנימציות הטיימליין שנמצאות בפרוייקט
    השלב הראשון הוא ליצור סוג של אנקפסולציה, בידוד כל ענייני התצוגה למחלקות “תצוגה” שמופרדות משאר הקוד, בצורה הזו, אפשר לשנות את אופן התצוגה, מבלי להרוס דברים באפליקציה, או המשחק.
    השלב השני הוא לעשות את כל האנימציות של הטיימליין בפלאש לפריים אחד. זה לא תמיד פשוט, ישנם כמה אנימציות מורכבות מאוד בפלאש, וזה מצויין, כי זה הכוח של פלאש! הפתרונות לכך יכולות להיות שימוש בטייל שיט או בפתרונות אנימציית שלד, כמו Spine.
    השלב השלישי הוא לנסות להמיר כמה שיותר מהתצוגה לגרפיקה ביטמאפ “שטוחה”, הכוונה היא שיהיו שם מינימום היררכיות.
  • לפלאש יש מלא אפקטים
    חלק גדול מהפילטרים והאפקטים עובדים רק בפלאש, חלק אחר אמנם עובדים בפלטפורמות אחרות, אבל בצורה שונה, או איטית. אמנם זה מבאס, אבל צריך למצוא להם תחליף בצורה של גרפיקה. דרך אגב, בתחום הזה תמיד מתווספים שיפורים בOpenFl.
  • לפלאש יש כמה דרכי עבודה
    הכוונה היא, שבפלאש ניתן ליצור פרויקטים שבהם הפלאש הוא העיקר, בתוכנת הסטודיו, או פרויקטים מבוססים על קוד, כמו ב FlashDevelop או Flash Builder. מכיוון שהקס נתמכת בצורה הטובה ביותר ב FlashDevelop, אז זו התוכנה שבה כדאי להמיר אליה את הפרויקט.
    פרויקטים של פלאש שמבוססים על קובץ הפלאש, ולא על קוד, הם יותר קשים להמרה. זה הכרחי להפוך אותם קודם כל לפרוייקטים של קוד, שבהם הפלאש הוא רק החלק הגרפי, ואז להוציא את הקוד מכל מובי קליפ שמקושר למחלקה, למחלקה אחרת חיצונית. צריך גם למחוק את כל הקוד מהפריימים של הפלאש. הפלאש צריך להכיל גרפיקה, סאונד, פונט ווידאו. לא קוד. זה תהליך לא פשוט, אבל הכרחי.
מה הלאה?

בשלב הבא נלמד מהם הצעדים להמיר את כל קוד הפלאש להקס ושיעבוד בפלטפורמה של פלאש. נראה מהם הקשיים שניתקל בהם ונמצא להם פתרונות.


(Itzik Arzoni) #3