Historique des modifications - Message

Message #1777

Sujet: Recuperer du texte


TypeDateAuteurContenu
Création du message04-03-2007 08:40:30Willikus
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 RakNetwink

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
125 invités en ligne
membre en ligne: -
RSS Feed