האם Tilesheets זו הדרך המומלצת לעבודה יעילה עם תמונות?


#1

מנסיון שלי עם פיתוח למובייל (וספציפית ב-Starling) הדרך היעילה ביותר לעבודה עם תמונות היא באמצעות Spritesheet, במיוחד אם יש המון תמונות (כמו למשל באנימציה).
מבדיקה ראשונית שעשיתי (http://haxecoder.com/post.php?id=21), ראיתי שב-openFl יש דבר שנקרא Tilesheets שנראה מקביל ל-Spritesheet שאני מכיר, אבל עושה רושם שהעבודה איתו מגושמת וסיזיפית יותר (צריך להגדיר בפירוש קואורדינטות וגדלים של כל תמונה בתוך התמונה הגדולה בכל פעם שרוצים להשתמש בה, בעוד שב-Spritesheet עובדים עם קובץ XML שמספק את המידע הזה לגבי כל התמונות פעם אחת ובהמשך אפשר רק להתייחס לשם התמונה שאיתה רוצים לעבוד).
האם אתם מכירים דרך פשוטה הדומה לדרך שאני מכיר מ-Starling ו-frameworks אחרים?


(Itzik Arzoni) #2

הי, כדי לבחון זאת בעצמך, קיימת דוגמא קטנה שמשתמשת ב TileSheet ומעמיסה עליו כמה שיותר גרפיקה ובודקת את הFPS.
תוכל להוריד את קוד המקור מפה, לקמפל ולהריץ:
https://github.com/openfl/openfl-samples/tree/master/BunnyMark

מישהו עשה משהו דומה פה (משתמש ב TileSheet) אתה יכול ללחוץ כדי להוסיף עוד ועוד כאוות נפשך:
http://www.openfl.org/archive/community/general-discussion/buddhamark-simple-performance-benchmark/


#3

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


(מיכאל שלמה) #4

מחיפוש קצר בגוגל עולה כי המפתח של OpenFl יצר גם ספריית SpriteSheet, הספרייה תואמת ל-OpenFl כמובן,
מידע נוסף ואופן שימוש תוכל למצוא כאן, דוגמא של קוד כאן.


#5

או, זה כבר נראה הרבה יותר טוב. תודה מיכאל!