Sicher können Sie, wenn Sie einen eigenen Schlüsselmanager verwenden. Ein Beispiel in C mit SDL (aber seine genau das gleiche in C++ mit SFML, nur wenige Namen ändern):
typedef struct
{
char key[SDLK_LAST];
int mousex,mousey;
int mousexrel,mouseyrel;
char mousebuttons[8];
char quit;
} Input;
void UpdateEvents(Input* in)
{
SDL_Event event;
while(SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_KEYDOWN:
in->key[event.key.keysym.sym]=1;
break;
case SDL_KEYUP:
in->key[event.key.keysym.sym]=0;
break;
case SDL_MOUSEMOTION:
in->mousex=event.motion.x;
in->mousey=event.motion.y;
in->mousexrel=event.motion.xrel;
in->mouseyrel=event.motion.yrel;
break;
case SDL_MOUSEBUTTONDOWN:
in->mousebuttons[event.button.button]=1;
break;
case SDL_MOUSEBUTTONUP:
in->mousebuttons[event.button.button]=0;
break;
case SDL_QUIT:
in->quit = 1;
break;
default:
break;
}
}
}
int main()
{
Input in;
memset(&in,0,sizeof(in));
while(!in.key[SDLK_ESCAPE] && !in.quit)
{
UpdateEvents(&in);
if (in.mousebuttons[SDL_BUTTON_LEFT])
{
in.mousebuttons[SDL_BUTTON_LEFT] = 0;
}
if (in.key[SDLK_UP] && in.key[SDLK_LEFT])
{
}
}
return 0;
}
Edit: https://github.com/dabbertorres/SwiftInputManager
Kann nicht: einen Schlüsselmanager für C++ SFML gefunden Ihnen meine eigenen Code Ursache der Code nicht in Englisch
Darf ich zumindest wissen, wofür ich abstimmen darf? –
Jemand hat abgestimmt, weil sie die Frage zu weit gefasst haben, aber das ist hier nicht der Fall. Sie fragen nach einer bestimmten Bibliothek. – coyotte508
Wie für Ihre Frage, http://en.sfml-dev.org/forums/index.php?topic=14611.0 Antworten Teil davon (nicht global simulieren) – coyotte508