פורסם 2004 בפברואר 221 שנים קודם כל שלום יש לי שאלה...אני רוצ הלהציג תמונה באיכות גדולה בתונית שלי... אני יודע לעשות רק באיכות של 16 צבעים ואני רוצה להציג תמונה באיכות יותר גדולה למשל 16ביט ואף יותר..כמה שיותר ככה יותר טוב... מישהו אוליי יותר אוליי יש איזה משהו שאפשר לעושת? למה אני עושה פרוייקט בשפת סי בבית ספר ואני רוצה לעשות מסך פתיחה משהו יפה...ביותר לעצב את זה בפוטושופ..אז אני רוצה שזה יהיה באיכות גבוה... אשמח אם תעזרו לי
פורסם 2004 בפברואר 1321 שנים גם לי יש אותה בעיה :-\איך גורמים ל-TC להיכנס למוד גרפי של יותר מ-16 צבעים ( הוא מוכן לעבוד רק עם חלק מקבצי הBGI כך שאני לא יכול לעבוד במוד של 320X200X256 )
פורסם 2004 בפברואר 1521 שנים בעקרון יש ספריות גרפיקה אחרות שנותנות אפשרויות הרבה יותר נרחבות מאשר הBGI.אני כרגע מחפש כאלה, ואם אני אמצא אני אכתוב פה.
פורסם 2004 בפברואר 1921 שנים אפשר להשתמש בספריות BGI, הם לא רעות בכלל.אם אתה רוצה יותר מ-16 צבעים, יש ספריות BGI מותאמות ל SVGA.ftp://garbo.uwasa.fi/pc/bgidriv/svgabg55.zipהנה אחת שאני עובד איתה.אם אתה צריך עוד עזרה תשאל...בהצלחה
פורסם 2004 בפברואר 2021 שנים בניתי משחק (טנקים) עם חבר שלי..... הוא כרגע עובד על 16 צבעים ....מה אני צריך להוסיף לקוד המקור(רק בהתקנה של הדרייבר...) ואיזה קבצים להעתיק על מנת שזה יעבוד ב256 צבעים??????(בלי התפריט בחירה בהתחלה)ודרך אגב המקסימום שתוכנית הדוגמא עובד בו זה: 640x480x256 לא עובד ברזולוציה גבוהה יותר ולא ביותר צבעיםועוד 2 דברים: האם משתמשים באותן פונקציות גרפיקה?איך מיוצגים הצבעים?
פורסם 2004 בפברואר 2021 שנים יאפ, גם אני צריך לדעת איך משתמשים בפונקציות של זה וכו'אהה כן.. יש איזה פונקציה שם בשביל להכניס תמונה לסיי?
פורסם 2004 בפברואר 2121 שנים כן, גם לי זה עובד רק ב 640... 256.. אבל לדעתי זה מספיק.הדבר היחיד שאתה צריך להעתיק זה את SVGA256.BGI לספריה שבה נמצאים שאר קבצי הBGI שלך.מבחינת שימוש בתכנית, אתה משתמש בדיוק באותם פונקציות. האתחול מעשה בצורה טיפה שונה:int detectSVGA(){return 2; // זה המצב הרצוי - כמו שאמרתי רק מצב 2 עבד לי - 640*480*256, אפשר לנסות משהו אחר}void main(){int gmode;int gdriver=installuserdriver("SVGA256",detectSVGA);gdriver=DETECT;initgraph(&gdriver,&gmode,"c://tc//bgi");rest of program...closegraph();}בעקרון יש תיעוד מאוד מפורט על BGI בעזרה של Turbo C - אני נעזרתי בזה המון.לגבי צבעים - אתה פשוט עושה setcolor ומכניס כל מספר בין 0 ל- 255. 16 הצבעים הראשונים הם הצבעים המוכרים ממצב 16 הצבעים הרגיל.תוכל לעשות לולאת FOR ולהציג בה את כל הצבעים וכך להכיר אותם. אם בא לך גם תוכל לכתוב פונקצית (RGB(int r,int g,int bשתחשב לך לבד את הצבע (למרות שלא ניסיתי, אז אל תשאל איך)לגבי הכנסת תמונה לC - לפי מה שקראתי, מאוד קשה לעבוד עם תמונות BMP. מצאתי תוכנה שהופכת קבצי BMP לקבצים שאפשר להשתמש בהם ב BGI עם פונקציות כמו putimage, אבל היא עובדת רק עם תמונות של 16 צבעים...מה שכן תוכל לעשות זה לצייר תמונה לבד ולשמור אותה בפורמט של BGI עם getimage. אבל זה כבר נושא אחר...DARK - תוכל אולי לשלוח לי את המשחק שלך? אולי אני אוכל ללמוד כמה דברים (במיוחד על תזוזה של גופים על המסך). אם לא - תוכל להגיד לי איך אתה מיישם תנועה כזאת (של sprites)?עריכה - למה לעזאזל התג של לא מיישר את הטקטס לשמאל?וכשאני מנסה להשתמש איתו ביחד עם [left] זה לא עובד.
פורסם 2004 בפברואר 2121 שנים למה צריך את הפונקציה detectvga??אי אפשר לשים 2 בinstall..?בתזוזה של הקליע השתמשנו ב פיזיקה ...(וקטורים בלאגנים..)מה זה sprites?ואני לא מפרסם את הקוד מקור.... אם תרצה אני אשלח לך את המשחק רק תגיד לי לאן...זה לא עובד לי! הוא רושם ארור בשורה של install.........
פורסם 2004 בפברואר 2121 שנים המערכת של הפורום בנויה ככה שאי אפשר לשים left בתוך code או להפך, ככה זה ואין הרבה מה לעשות בנידון.
פורסם 2004 בפברואר 2121 שנים int huge detectSVGA(){return 2; // זה המצב הרצוי - כמו שאמרתי רק מצב 2 עבד לי - 640*480*256, אפשר לנסות משהו אחר}void main(){int gmode,gdriver=DETECT;installuserdriver("SVGA256",detectSVGA);initgraph(&gdriver,&gmode,"c:\\tc\\bgi");rest of program...closegraph();}ככה זה אמור להיות אם כבר.... אבל עדיין לא עובד..
פורסם 2004 בפברואר 2121 שנים אתה יכול לתאר את הERROR שאתה מקבל?הצורה ששינית לא נכונה. אתה צריך קודם לעשות:gdriver = installuserdriver("SVGA256", detectSVGA);ואח"כgdriver=DETECT;הנה קטע מתכנית עובדת ליתר בטחון: int gdriver, gmode; /* install a user written device driver */ gdriver = installuserdriver("SVGA256", detectSVGA); /* must force use of detection routine */ gdriver = DETECT; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "c:\\tc\\bgi");תבדוק ששמת את הקובץ בספרייה של הBGI.תבדוק גם את המיקום של ה TURBO C - כמו שאתה רואה אני השתמשתי ב c:\tc\bgi - יכול להיות שאצלך זה שונה.אתה חייב להשתמש בפונקצית עזר - שים לב שהיא נקראת בלי סוגריים.DARK - כשאני אומר תזוזה אני מתכוון לציור עצמו של העצם הזז כך שהרקע שמאחוריו נשמר.אם אתה יכול תשלח ל myfake (at) walla.co.il
פורסם 2004 בפברואר 2221 שנים DARK - כשאני אומר תזוזה אני מתכוון לציור עצמו של העצם הזז כך שהרקע שמאחוריו נשמר.אם אתה יכול תשלח ל myfake (at) walla.co.ilבקשר לתזוזה של גופים אתה פשוט צריך כל פעם למחוק את הגוף שציירת ולצייר אותו מחדש במקום אחר.. זה מה שאני עשיתי בסרטון קטן שעשיתי.אתה יכול למחוק אותו ב2 צורות.. או לצייר עליו מלבן בצבע הרקע מה שלא חכם כשיש לך עוד אובייקטים קרובים למקום..או פשוט לצייר אותו מחדש בצבע הרקע.(זה לפחות ממה שהבנתי הוא עשה במשחק שלו.) אם יש לך רגע צבעוני או שיש אובייקטים מאחור זה קצת בעיה. אם שמרת את כל המסך הדמויות וכו' על קבצים נפרדים(מה שאני רוצה לעשות ולא יודע איך) אתה יכול לצייר הכל מחדש כל פעםמה שכן, לפי מה שהבנתי מבן אדם שיצר משחק דיי רציני לא ב C++ אלא בדלפי זה שכל פעם מציירים הכל מחדש..הכל זה אומר מפה, רגע, דמויות ואובייקטים, הכל מחדש וזה פשוט לוקח למחשב מאיות שניה ככה שאתה לא שם לב לזה בכללנסה את זה..ועוד משהו, בקשר ללעשות קבצים בפורמט BGI. אתה יכול להרחיב בנושא? אני רוצה לעשות דמויות בקבצים נפרדים כך שיהיה אפשר לשנות אותם מבחוץ.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.