Historique des modifications - Message

Message #1777

Sujet: Recuperer du texte


Type Date Auteur Contenu
Création du message 04-03-2007 08:40:30 Willikus
Moi je récupère les caractère par IEvent Receiver :


IEventReceiver pour chat:
class MyEventReceiver : public IEventReceiver
{
public:
	virtual bool OnEvent(SEvent event)
	{
            
		if (camera != 0 && event.EventType == irr::EET_KEY_INPUT_EVENT)
		{
           switch(event.KeyInput.Key)
			{  }		
		}
	         
           if (event.EventType == irr::EET_KEY_INPUT_EVENT &&
			event.KeyInput.PressedDown)
		{
		switch(event.KeyInput.Key)
			{
             case KEY_KEY_A:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "a");
                 if(shift==1){
                 strcat(chat_scan, "A");
                 shift=0;
                 }
            break;       
            case KEY_KEY_B:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "b");
                 if(shift==1){
                 strcat(chat_scan, "B");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_C:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "c");
                 if(shift==1){
                 strcat(chat_scan, "C");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_D:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "d");
                 if(shift==1){
                 strcat(chat_scan, "D");
                 shift=0;
                 }
                 } 
            break;
            case KEY_KEY_E:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "e");
                 if(shift==1){
                 strcat(chat_scan, "E");
                 shift=0;
                 }
                 }
           break;
           case KEY_KEY_F:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "f");
                 if(shift==1){
                 strcat(chat_scan, "F");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_G:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "g");
                 if(shift==1){
                 strcat(chat_scan, "G");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_H:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "h");
                 if(shift==1){
                 strcat(chat_scan, "H");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_I:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "i");
                 if(shift==1){
                 strcat(chat_scan, "I");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_J:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "j");
                 if(shift==1){
                 strcat(chat_scan, "J");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_K:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "k");
                 if(shift==1){
                 strcat(chat_scan, "K");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_L:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "l");
                 if(shift==1){
                 strcat(chat_scan, "L");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_M:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "m");
                 if(shift==1){
                 strcat(chat_scan, "M");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_N:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "n");
                 if(shift==1){
                 strcat(chat_scan, "N");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_O:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "o");
                 if(shift==1){
                 strcat(chat_scan, "O");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_P:
              if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "p");
                 if(shift==1){
                 strcat(chat_scan, "P");
                 shift=0;
                 }
                 } else {
                        if(armee==0)
                        armee=1;
                        else
                        armee = 0;
                        }
            break;
            case KEY_KEY_Q:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "q");
                 if(shift==1){
                 strcat(chat_scan, "Q");
                 shift=0;
                 }
                 } 
            break;
            case KEY_KEY_R:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "r");
                 if(shift==1){
                 strcat(chat_scan, "R");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_S:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "s");
                 if(shift==1){
                 strcat(chat_scan, "S");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_T:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "t");
                 if(shift==1){
                 strcat(chat_scan, "T");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_U:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "u");
                 if(shift==1){
                 strcat(chat_scan, "U");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_V:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "v");
                 if(shift==1){
                 strcat(chat_scan, "V");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_W:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "w");
                 if(shift==1){
                 strcat(chat_scan, "W");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_X:
                if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "x");
                 if(shift==1){
                 strcat(chat_scan, "X");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_Y:
               if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "y");
                 if(shift==1){
                 strcat(chat_scan, "Y");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_Z:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, "z");
                 if(shift==1){
                 strcat(chat_scan, "Z");
                 shift=0;
                 }
                 } 
            break;
            case KEY_SPACE:
                 if(enter==1)
                 strcat(chat_scan, " ");
            break;
            case KEY_NUMPAD0:
                 if(enter==1)
                 strcat(chat_scan, "0");
            break;
            case KEY_NUMPAD1:
                 if(enter==1)
                 strcat(chat_scan, "1");
            break;
            case KEY_NUMPAD2:
                 if(enter==1)
                 strcat(chat_scan, "2");
            break;
            case KEY_NUMPAD3:
                 if(enter==1)
                 strcat(chat_scan, "3");
            break;
            case KEY_NUMPAD4:
                 if(enter==1)
                 strcat(chat_scan, "4");
            break;
            case KEY_NUMPAD5:
                 if(enter==1)
                 strcat(chat_scan, "5");
            break;
            case KEY_NUMPAD6:
                 if(enter==1)
                 strcat(chat_scan, "6");
            break;
            case KEY_NUMPAD7:
                 if(enter==1)
                 strcat(chat_scan, "7");
            break;
            case KEY_NUMPAD8:
                 if(enter==1)
                 strcat(chat_scan, "8");
            break;
            case KEY_PERIOD:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, ".");
                 }
            break;
            case KEY_DECIMAL :
                 if(enter==1)
                 {
                 strcat(chat_scan, ".");
                 }
            break;
            
            case KEY_SHIFT:
                 if(enter==1)
                 {
                 if(shift==0)
                 shift=1;
                 else
                 shift=0;
                 }
            break;
            case KEY_COMMA:
                 if(enter==1)
                 {
                 if(shift==0)
                 strcat(chat_scan, ",");
                 if(shift==1)
                 {
                 strcat(chat_scan, "?");
                 shift=0;
                 }
                 }
            break;
            case KEY_KEY_4:
                 if(enter=1)
                 strcat(chat_scan, "'");
                 
            break;
           
            
            case KEY_RETURN:
                if(enter==0){
                enter=1;
                strcat(chat_scan, pseudo);
                strcat(chat_scan, " : ");
                }
                else
                {
        rakClientInterface->RPC("PrintMessage", chat_scan, (strlen(chat_scan)+1)*8, HIGH_PRIORITY, RELIABLE_ORDERED, 0, false);
        strcpy(chat_scan, chat_clear);
        enter=0;
                }
                
                
            break;
                     
            
            }
        
		}
		
		if ((event.EventType == EET_MOUSE_INPUT_EVENT && event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN))
                                                                                                                          {                                                                                        
}

        if ((event.EventType == EET_MOUSE_INPUT_EVENT && event.MouseInput.Event == EMIE_RMOUSE_PRESSED_DOWN))
{
}
        if ((event.EventType == EET_MOUSE_INPUT_EVENT && event.MouseInput.Event == EMIE_RMOUSE_LEFT_UP))
{
}

		return false;
	}
};

Ca me permet d'écrire sommairement, avec une gestion des Majuscules un peu foireuse (Une sorte de Key-Lock qui se déloque une fois le caractère entré). Seul GROS problème, je n'arrive pas a gerer l'éffacement du dernier caractère avec la touche Retour :s

Ce chat tourne sous RakNet wink

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
113 invités en ligne
membre en ligne: -
RSS Feed