Hello !
Euh, oui, je code comme on le faisait avec flash 6 parce que j'ai commencé avec 
flash 6 ( je suis pas codeur, je suis prof de maths en collège, et j'aime bien 
flash pour faire des exerciseurs à mes élèves)... donc j'apprends et je bosse à 
mes heures perdues (et j'en ai pas des masses, quoiqu'on dise des profs !) et 
j'ai du retard ...
Le code est un truc que j'ai fait cet après-midi (merci en passant pour la 
remarque qui tue sur mon code pourri, moi j'étais assez content de moi, pour le 
coup !!), ce n'est pas un tuto (j'en ai pas trouvé !).
Pour la centralisation, ça y est, tout est dans la timeline principale.
Pour les variables globales,  mon anim est loadée dans une anim loadée elle 
même dans un swf principal, et les champs de textes peuvent être dans n'importe 
lesquelles, je pensais que c'était mieux d'avoir des variables golbales, mais 
après test, tu as raison (merci !), ça ne change rien !

Merci d'avoir pris le temps de répondre !

Christophe


From: ekameleon 
Sent: Sunday, September 21, 2008 8:25 PM
To: [email protected] 
Subject: [FCNG] Re: [Flash8] Interface tactile


Hello :) 


En passant (pas assez de temps pour t'aider correctement ;))


Tu code comme on pouvait le faire avec Flash 6 ;) Faudrait un peu mettre au 
gout du jour ton code.. même en AS1/AS2 ;)


Par exemple les eval() .. faut plus les utiliser depuis pas mal d'années 
maintenant ;)


Exemple tu tapes :


champ=eval("txt"+i);



et tu devrais taper :


champ = this["txt" + i] ;



... 


Du coup ton code il vient d'où ? Tu as récupéré un tuto ? ou c'est juste un 
code de test que tu as fais tout seul ? Car en général faut vachement se méfier 
des codes de vieux tutoriels sur le web.. car on arrive souvent sur un résultat 
comme ton code au dessus :)


Sinon second truc super important.. Faut que tu apprennes à centraliser ton 
code sur la scène principale (et pas du code partout dans les clips, etc..) car 
après impossible de bien gérer le cycle de vie de ton application.... Ton 
clavier virtuel est du coup trop compliqué ! 


Pense aussi à mettre des noms d'occurrences à tes clips... c'est plus simple de 
gérer des éléments graphiques si ils ont un nom d'occurrence.


Évite pour finir d'utiliser le _global pour tout et n'importe quoi ;) En 
centralisant ton code sur la scène principale, tu auras pas la mauvaise 
habitude d'utiliser le _global partout du coup ;)


Du coup.. tu devrais commencer par corriger tes problèmes de code parasite ;) 
Là je t'avoue que j'ai pas du tout le temps de regarder ton code du coup :(


Un truc :) Sur un exemple comme tu es en train de faire.. n'essaie pas de tout 
faire mais juste de faire un bouton qui doit communiquer avec un champ de texte 
ou autre pour isoler juste ton soucis :) Là vu le code etc... et le peux de 
temps que nous avons pour voir le code, cela facilite pas les choses ;)


Sinon c'est très bien que tu envois ton fichier .fla :) 


EKA+ :)



Le 21 septembre 2008 18:36, Christophe Auclair <[EMAIL PROTECTED]> a écrit :

  Bon, ben voilà un essai :

  La variable _global.txtCourant stocke le nom du clip qui a le focus

  //focus sur champ txt1
  Selection.setFocus(txt1);
  _global.txtCourant=txt1;

  //Configuration des champs de saisie
  for(i=1;i<3;i++){
   champ=eval("txt"+i);
   champ.type=input;
   champ.text="";
   champ.tabEnabled=true;
   champ.tabIndex=i;
  }
  //fonction qui recupere les infos
  getInfos =function () {
   temp=Selection.getFocus();
   if (temp != null){
    _global.txtCourant=temp //contient le nom du champ qui a le focus
    _global.selectionChampDebut=Selection.getBeginIndex();// contient l'index 
du début de la selection
    _global.selectionChampFin=Selection.getEndIndex();// contient l'index du 
début de la selection
   }
  };

  //Mise en place des ecouteurs
  var mouseListener:Object = new Object();
  mouseListener.onMouseUp = getInfos;
  Mouse.addListener(mouseListener);
  var keyListener : Object = new Object();
  keyListener.onKeyUp = getInfos;
  Key.addListener(keyListener);


  //bouton qui efface le dernier caractere ou la selection
  btEfface.onRelease=function(){
    texte=eval(_global.txtCourant).text;
   //decoupage du champ de texte
   texte1=texte.slice(0,_global.selectionChampDebut);
   texte2=texte.slice(_global.selectionChampDebut,_global.selectionChampFin);
   texte3 =texte.slice(_global.selectionChampFin);
   //modif du champ de texte
   if(texte2.length > 0){
   texte=texte1+texte3;
    //recalcul des index
   _global.selectionChampFin=_global.selectionChampDebut=texte1.length;
   }else{
    texte=texte1.slice(0,texte1.length-1)+texte3;
    //recalcul des index
   _global.selectionChampFin=_global.selectionChampDebut=texte1.length-1;
   }
   //repositionnement du curseur
   eval(_global.txtCourant).text=texte;
   Selection.setFocus(eval(_global.txtCourant));
   Selection.setSelection(_global.selectionChampFin,_global.selectionChampFin);
  }


  //bouton qui insere un caractere (contenu dans la variable "caractere") dans 
le champ selctionne à la position actuelle du curseur :

  bt.onRelease =function(){
   texte=eval(_global.txtCourant).text;
   //decoupage du champ de texte
   texte1=texte.slice(0,_global.selectionChampDebut);
   texte2=texte.slice(_global.selectionChampDebut,_global.selectionChampFin);
   texte3 =texte.slice(_global.selectionChampFin);
   //modif du champ de texte
   texte=texte1+caractere+texte3;
   //on regarde si le nombre max de caracteres est atteint
   if(texte.length <= eval(_global.txtCourant).maxChars){
   //recalcule des index selon la longueur du caractere
   
_global.selectionChampFin=_global.selectionChampDebut=texte1.length+caractere.length
 ;
   //repositionnement du curseur
   eval(_global.txtCourant).text=texte;
   Selection.setFocus(eval(_global.txtCourant));
   Selection.setSelection(_global.selectionChampFin,_global.selectionChampFin);
   

  stop();


  Je mets le fichier en pièce jointe, tout à l'air de bien fonctionner. J'ai 
voulu rajouter un textFormat sur la variable caractere pour la mettre en 
italique lorsque c'est une inconnue (x ou x²...) mais ça n'a jamais voulu 
marcher...

  Christophe




  From: David OUANOUNOU 
  Sent: Thursday, September 18, 2008 6:11 PM
  To: [email protected] 
  Subject: [FCNG] Re: [Flash8] Interface tactile


  Salut,



  J'ai déjà bosser sur une appli flash avec un écran tactile et un clavier 
virtuel, je peux te dire deux choses : 

  1.       Bien faire attention à la taille des touches par rapports aux doigts 
de gens ( taille, espacement ) et à la sensibilité de l'écran.

  2.       Bien gérer avec des timer l'interval ente les appuis de touche car 
sur notre écran qui était ultra sensible un cheveux activait les touches quasi 
en continu et on a bien galéré jusqu'à qu'on trouve que cela venait d'un cheveu 
coller sur l'écran. J



  En tout cas oui c'est facile mais c'est toujours excitant de travailler sur 
ce genre d'application.

  David



  De : [email protected] [mailto:[EMAIL PROTECTED] De la part de Christophe 
Auclair
  Envoyé : jeudi 18 septembre 2008 17:54
  À : [email protected]
  Objet : [FCNG] Re: [Flash8] Interface tactile



  ok, merci, je m'y colle et je poste ça !



  From: ekameleon 

  Sent: Thursday, September 18, 2008 5:41 PM

  To: [email protected] 

  Subject: [FCNG] Re: [Flash8] Interface tactile



  Hello :) 



  Ah .. bah suffit d'utiliser en AS2 ou AS3 un simple modèle pour créer des 
boutons et sur chaque bouton de placer le code de la touche qui correspond... 
rien de bien compliqué là dessus. 



  Suffit de savoir faire des boutons (ou clips qui serviront de bouton) et de 
savoir gérer les échanges de données, les variables etc. :)



  Je te propose de commencer à faire quelquechose et à nous poser des questions 
précises sur ce que tu ne comprends pas :) Car je vois pas trop le problème du 
coup ;) Faire un clavier virtuel c'est vraiment simple comme tout en 
ActionScript :)



  Sinon pour l'AS3 tu as intérêt à t'y mettre.. fait déjà 2 ans ou + que c'est 
dispo ... cela devient limite de rester sur de l'AS1/2 ;)



  EKA+ :)



  Le 18 septembre 2008 17:29, Christophe Auclair <[EMAIL PROTECTED]> a écrit :

  Merci pour la réponse... en réalité, je n'ai pas besoin d'une interface 
multitouch, mais simplement de pouvoir gérer un clavier virtuel sous flash 
comme on pourrait le faire en lançant le clavier virtuel de windows pour écrire 
dans un champs de saisie d'une appli en flash...

  Quant à l'AS3, je repousse, je repousse... mais il va bien falloir que je m'y 
mettre 



  From: ekameleon 

  Sent: Thursday, September 18, 2008 4:40 PM

  To: [email protected] 

  Subject: [FCNG] Re: [Flash8] Interface tactile



  Hello :) 



  1 - pourquoi en AS2 pour FP8 alors que tu peux tout faire en AS3 ? 
Franchement pour une interface multitouch... je pense que tu peux sérieusement 
te mettre à l'AS3 ;) 



  2 - Sinon en tapant sur Google "ActionScript Multitouch" on trouve par 
exemple :



  http://code.google.com/p/ideo-multitouch/

  
http://www.hebiflux.com/blog/2007/09/20/flex-showcase-et-du-multitouch-en-flash/


  Je crois qu'il y a un projet aussi opensource pour gérer ce genre 
d'intéraction sur RIAForge ou OSFlash mais j'ai complètement oublié le non ? 
Faudrait chercher :)



  EKA+ :)



  Le 18 septembre 2008 15:56, Boc <[EMAIL PROTECTED]> a écrit :


  Bonjour !
  Je travaille cette année sur un projet pour lequel je souhaiterai
  développer une interface utilisable avec un écran tactile, ou un
  tableau blanc interactif, avec en particulier un clavier virtuel...
  j'ai fait quelques recherches sur le web, mais je n'ai rien trouvé à
  ce sujet en flash. Aussi, je me demande, avant de me lancer là-dedans,
  si ça n'a jamais été fait parce que c'est trop compliqué en flash de
  gérer un clavier virtuel, ou parce que j'ai cherché comme une patate,
  ou alors parce que c'est tellement évident que ça vaut même pas le
  coup de faire un article ou un tuto la-dessus ??!
  Insérer un caractère à la fin d'un champ de texte qui a le focus est
  simple, l'insérer à l'endroit ou se situe le curseur doit pouvoir se
  faire avec un Selection.getCaretIndex()...  cela m'étonne de ne rien
  trouver sur le web !
  Qu'en pensez-vous ?

  Christophe







  <BR









--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [EMAIL PROTECTED]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---

<<inline: image001.gif>>

Répondre à