פורסם 2012 בינואר 3013 שנים שלום לכולםנתקלתי בבעיה קטנה כשניסית ליצור תמונה של טנק מסתובב על אדמהישנה תמונה אחת שהיא הרקע ותמונה נוספת שהיא הטנק שאמורה להסתובב על הציר של עצמה מבלי לשנות את תמונת הרקע.כל זה נצא ב thread,כאשר נלחץ מקש כלשהו הטנק אמור להסתובב ולנסוע לאיפה שהוקש עם העכבר.אינני מצליח לגרום לתמונת הטנק להסתובב מבלי לגרום לרקע להשתנות גם כןמישהו יכול לעזור?
פורסם 2012 בפברואר 813 שנים תכין תמונות של טנק+הרקע בכל הזוויות האפשריות ותציג תמונה מתאימה בהתאם לכיוון שנבחר.
פורסם 2012 בפברואר 813 שנים תכין תמונות של טנק+הרקע בכל הזוויות האפשריות ותציג תמונה מתאימה בהתאם לכיוון שנבחר.למה שלא יעשה רקע שקוף לטנק?
פורסם 2012 בפברואר 813 שנים אכן, הפתרון המומלץ הוא לשמור את קובץ הטנק בפורמט שמאפשר שקיפות (לדוגמה png) ולצייר אותו באופן שיודע להתייחס לשקיפות הזו.איך בדיוק אתה מצייר את הטנק? עם איזה אובייקטים/פונקציות?
פורסם 2012 בפברואר 1213 שנים ומה אם רוצים שהמשחק יהיה קצת יותר איכותי? ומה אם יש הרבה תמונות במשחק אז אני יעשה כל דבר מכל זווית?..(מצטרף לשאלה שלו בקיצור..)
פורסם 2012 בפברואר 1313 שנים אני אשתדל לתת הסבר קצר, זה מאוד פשוט בסך הכל. קודם כל, חייב שקיפות, אחרת צריך: (level_width - sprite_width) * (level_height - spite_height) תמונות, וזה הרבה! בתכלס, יש 2 פתרונות, תלוי בסוג הספרייה: אם אתה משתמש בספרייה סטייל 1995 ( תחשוב SDL, allegro וכו'... ), הטריק הוא לרנדר לתוך surface (באפר בזיכרון) כלשהו אחרי שאתה מעביר את הביטים דרך אלגוריתם סיבוב כלשהו, ואז פשוט לעשות blit לתוך ה surface שמייצג את המסך. עכשיו בגלל שכל זה נעשה על ה CPU, והשנה היא 1995, לרוב כשטוענים את השלב, יוצרים בין 360-1 כאלה (תלוי כמובן בכמה זוויות הטנק יסתובב) ושומרים אותם במערך. יש ספריות מתוכמות יותר כמו java2D, ה GraphicsScene של QT או כל ספריית D2\3D שמשתמשת בהאצה תלת מימדית, שמספקות לך transform matrix (עוד מידע פה). ואז אתה פשוט יכול לשנות ערכים, לרוב יש לך פונקיות עזר, בקוד זה בערך נראה ככה: painter.transform().rotate(angle) painter.drawImage(tankSprite) זה כמובן תלוי בספריה, שים לב שאם אני מרנדר עכשיו את הרקע, הוא יקבל את הסיבוב של הטנק! זהו, מקווה שזה ברור יותר עכשיו (כי ביזבזתי הפסקת קפה וחצי על הפוסט הזה!)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.