שלום, שאלה בנושא DX -

Yurismaster

New member
שלום, שאלה בנושא DX -

אני עושה תוכנה של פסיפס וצריך לצייר 80 על 80 אבנים בכל פריים. כל אבן היא תמונה, בעצם. זה הופך למאוד כבד מפני שאני קורא לפונ' הציור המון פעמים בכל פעם וחשבתי אולי לשמור את כל הלבנים כך שייצרו תמונה אחת ואז לצייר את כולם בפקודה אחת. הדרך היחידה שחשבתי עליה היא ליצור קובץ bmp ולערוך אותו בהתאם לשינויים בפסיפס ואז להטעין ולצייר רק אותו על המסך. איך אני יכול ליצור את הקובץ ולהטעין אותו מתוך הזיכרון? (למדתי רק את הפונק loadfromfile)
 

refish

New member
אתה מייצר surface ועל...

אתה מייצר surface ועל surface את מצייר את האבנים. לאחר מכן אתה משצמש בsurface שיצרת דרך הגב באיזה directx את משתמש ?
 

refish

New member
פונקציות לשמוש...

1. טוען את קובץ התמונה (אבן) למשטח set image = objdd.createSurfaceFromFile("שם הקובץ") 2. מייצר משטח ריק בדוגל הדרוש לאבנים 80X80. createSurFace 3. מצייר את האבנים למשטח שייצרנו. mySurFace.bltFast(מיקום X,מיקום Y,image,ddRect(0,0,אורך האבןתגובה האבן,DDBLTFAST_WAIT) אם אתה לא מבין אני יעשה לך קוד דוגמה. רפי
 

tapas tapas

New member
לא מבין מה בידיוק אתה עושה

קודם כל כדאי לך להשתמש בD3D ולא בDIRECTDRAW דבר שני, למה אתה צריך לצייר את התמונות של האבנים לתוך תמונה יותר גדולה ואז את התמונה היותר גדולה לצייר למסך? אם זה מה שהבנתי נכון. לא עדיף לצייר ישירות את התמונות למסך? בD3DX יש את ID3DXSPRITE אם אני לא טועה, שזה אינטרפייס שייעזור לך לצייר תמונות ובצורה הרבה יותר מהירה ונכונה. אז כדאי לך להשתמש בו.
 
למעלה