היי,
נושא שלא התעסקתי בו המון זמן זה פלאש.
בפוסט הזה אני אכתוב על הסיבות לעבור מ-AS2 ל-AS3.
הסיבה היא שראיתי במספר מקומות שאנשים עדיין משתמשים ב-AS2, והם לא יודעים מה הם מפסידים.
יצא לי קצת לעבוד עם פלאש ואפילו ליצור משחק די פשוט ולפרסם אותו.
אחת משפות התכנות (לדקדקנים מביניכם - שפת סקריפט) הראשונות שלמדתי היתה Action Script 2 או בקיצור AS2.
די אהבתי את השפה הזאת מפני שקל להבין אותה ובעיקר מפני שלא הכרתי הרבה שפות מעבר לה.
את הבסיס למדתי מחוג שלקחתי כשהייתי די צעיר ואת השאר למדתי לבד.
לאחר כמה שנים טובות שבהן עבדתי עם תוכנות אחרות (בעיקר Game Maker שהיה מאוד קל לעבור אליה מהסיבה שאופן העבודה ב-AS2 מזכיר את אופן העבודה בה), משתמש מהפורום החל לעבוד ב-AS3 והמליץ על שפת התכנות הזאת.
עד אז די פחדתי מ-AS3 מהסיבה שיצא לי לראות את הפרקים הראשונים של ספר ללימוד AS3 והדבר הראשון שחשבתי עליו הוא "WTF? למה אי אפשר לכתוב לאובייקט את הקוד שהוא אמור לבצע וצריכים לעשות הכל דרך הפריים?!?!".
עם זאת די רציתי לבדוק מה השיפורים מאז AS2, שאלתי את מי שהמליץ לי על AS3 מאיפה הוא לומד והוא הפנה אותי למדריך הזה: לינק.
במדריך יש הסבר על הבסיס וגם מעבר, בהחלט ממליץ עליו.
למדתי המון מהמדריך, עם הזמן יצא לי לפרסם משחק שכתבתי ב-AS3 ואף יצא לי לפרסם מדריך בעברית שדי מזכיר את המדריך שלמדתי ממנו.
תמונה מהמשחק:
(את המדריך אפרסם בבלוג כשאמצא דרך ליצור ספריית מדריכים נורמלית).
למה Action Script 2?
פשטות - כשאני מנסה להזכר למה אהבתי את AS2 זה היה בגלל הפשטות.
כל מה שהייתי צריך למשחקים שאני יוצר היה שליטה על המיקום (X, Y), בדיקת התנגשות ובדיקה של מצב המקלדת (כלומר איזה כפתורים נלחצו).
התחביר לא היה נוקשה במיוחד, בעיקר בגלל שהיה ניתן ליצור אובייקט ולגשת אליו בקלות.
לדוגמא:
duplicateMovieClip(_root.MyObject, "MyObject1", this - 1);
_root.MyObject1._x = _root._xmouse;
_root.MyObject1._x = _root._xmouse;
ברוב השפות הקומפיילר היה מנסה להרוג אותי בגלל השורה השנייה, מפני שלא הגדרתי משתנה בשם MyObject1, עם זאת זה מאוד אינטואיטיבי לעבוד ככה ולא ראיתי עם זה שום בעיה לפני שהכרתי צורות תכנות אחרות.
ברוב המקרים גם אין צורך ללמוד על מחלקות או תכנות מונחה עצמים, דבר שמפשט גם הוא את העבודה.
זמן פיתוח בפרוייקטים קטנים - בפרוייקטים קטנים אין צורך להשתמש בקוד מסודר במיוחד, במחלקות לכל דבר וכו'.
ב-AS2 ניתן להצמיד לאובייקט הרצוי קוד מסויים כך שיתנהג כמו שציפינו וזהו, לא צריך להתעסק בפרוייקט מעבר לזה.
אז למה בכל זאת Action Script 3?
מהירות - חיפוש קצר באינטרנט מראה שהרצת קוד AS3 מהירה יותר מ-AS2 פי כמה ברוב המקרים, בחלק מהמקומות תמצאו שזה פי 10-15 ובחלקם פי 2.
זה שיפור משמעותי שצריך לקחת בחשבון כשמפתחים משחק פלאש.
נוחות - AS3 היא שפה OOP, כלומר מונחית עצמים. אופן העבודה איתה הרבה יותר נוח ומסודר בפרוייקטים גדולים, במיוחד כאשר עובדים בצוות וכל אחד אחראי על מחלקה משלו.
בנוסף, למתכנתים בשפות עיליות כגון C#, C++, JAVA וכו' יהיה הרבה יותר קל להתרגל ל-AS3, מפני שאופן העבודה בהן כמעט זהה.
תמיכה - אני מניח שבתור השפה העדכנית ביותר, AS3 זוכה לתמיכה המירבית כרגע. זה אומר שמתפרסמים הרבה מדריכים, תוכלו לקבל עזרה וכמובן שהפיתוח של פלאש יתבטא בין היתר בהרחבה של AS3.
דוגמא טובה היא תמיכה בהאצת חומרה ו-3D ב-AS3.
כמובן שכל זה בגדר השערה אך סביר מאוד שזאת גם המציאות.
לסיכום, AS2 שפה פשוטה. אם אתה גרפיקאי שמעצב בפלאש ורוצה להוסיף מעט סקריפטים לסרטון, AS2 עשויה להתאים לך.
AS3 שפה מורכבת, נוחה, מסודרת ועדכנית. אם אתה מתכנת שמתכנן ליצור פרוייקט גדול בפלאש, משחק מורכב או תוכנה אז כמובן ש-AS3 זאת השפה בשבילך.
אם אין לך רקע קודם בפלאש אני ממליץ בכל מקרה ללמוד AS3.
עד כאן הפוסט אבל כמובן מוזיקה!
באפריל Megadeth באים לארץ! כבר יומיים שאני שומע שירים שלהם ביוטיוב.
אחד השירים היפים זה Tornado of Souls:
שיהיה לנו שבוע מצויין! D:
אין תגובות:
הוסף רשומת תגובה