פורסם 2008 בדצמבר 1816 שנים שלום לכולם!אני כותב משחק בשפת C# , ובמשחק יש אופציה לשני שחקנים שכל אחד עובד על לוח אחר ויש בינהם תחרות, לכל אחד יש את הלחצנים המיועדים לו, אבל במקרה ששחקן אחד לוחץ על הלחצן שלו בצורה רצופה הוא למעשה מונע מהשני לזוז עם הלחצנים שלו, האם יש למישהו פיתרון? ברור שיש משהו כי זה כמו תחרות בין שני שחקנים במרוץ מכוניות למשל.תודה מראש.
פורסם 2008 בדצמבר 1816 שנים נסה לחפש אולי על DirectInput Keyboard בשביל .NET, אבל יש סיבה למה מחשב זה חרא של פלטפורמה לכאלו דברים:http://hwzone.co.il/community/index.php?topic=378619.0
פורסם 2008 בדצמבר 1816 שנים מחבר מה אז זה פשוט תלוי במקלדת? אבל זה לא יכול היות כי עובדה שמשווקים משחקים לכולם שדורשים זאת ולא באים עם הוראה למקלדת מסוימת............ ???
פורסם 2008 בדצמבר 1816 שנים מחבר נו ניסיתי, מה הרוחתי? אז כל פעם הוא מתייחס להקלדה האחרונה, בקיצור אין לזה פתרון תכנותי?
פורסם 2008 בדצמבר 2116 שנים היי, לצערי אין לי נסיון בזה. אבל חשבת על האפשרות להוסיף האזנה על המקרים של לחיצת כפתור ושיחרור כפתור?
פורסם 2008 בדצמבר 2116 שנים אולי שתחפש משהו בC או אסמבלי ? אני חופר בgmedev.net - אך ללא הועיל עד כה...
פורסם 2008 בדצמבר 2116 שנים אני לא יודע איך אתה אמור לעשות את זה ב-#C אבל ברמה העקרונית אפשר להשטלת על פסיקת המקלדת. אבל אני לא בטוח אם זה יעבוד בסביבה מוגנת כמו windows. הנה קוד שכתבתי להצגת כל המקשים הלחוצים בכל רגע נתון. קח בחשבון שזה מציג את הקוד מקלדת ולא קוד ASCII. בקוד מקלדת כאשר הביט העליון דלוק זה שיחרור וכשהוא מכובה זה לחיצה.#include<stdio.h>#include<conio.h>#include<dos.h>void interrupt (*old_int9)(void);char keyboard[128];int kbevent=0;void interrupt new_int9(){ char scancode; kbevent=1; asm{ push ax in al,60h mov scancode,al pop ax } if (scancode&0x80) keyboard[scancode&0x7F]=0; else keyboard[scancode&0x7F]=1; old_int9();}void main (void){ int i; char ch; clrscr(); for (i=0;i<127;i++) keyboard[i]=0; old_int9=getvect(9); setvect(9,new_int9); while (!keyboard[1]) if (kbevent) { if (kbhit()) getch(); kbevent=0; clrscr(); printf("Keyboard: "); for (i=0;i<127;i++) if (keyboard[i]) printf("%d ",i); } ch=getch(); setvect(9,old_int9);}
פורסם 2008 בדצמבר 2116 שנים זה היה רק בשביל להדגים את הרעיון, למרות שגם וינדוס עדיין משתמשת בפסיקות חומרה, אבל לא תוכל להשטלת עליהן כי זו סביבה מוגנת (protected mode).
פורסם 2008 בדצמבר 2216 שנים מחבר תודה רבה על כל התגובות, אבל האם יש מישהו שיכול להגיד לי צעד אחרי צעד מה לעשות?, (האם ניראה שזה בילתי אפשרי?!)
פורסם 2008 בדצמבר 2216 שנים אם זה פרוייקט WINFORMS, פשוט תירשם ב FORM שאתה מעוניין ל EVENTS של KEYDOWN/KEYUP או KEYPRESS ותדאג (חשוב מאוד) להדליק את הדגל של KEYPREVIEW ב FORM עצמו.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.