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 <[EMAIL PROTECTED]>
> *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 <[EMAIL PROTECTED]>
>
> *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 [image: Visage émoticône]
>
>
>
> *From:* ekameleon <[EMAIL PROTECTED]>
>
> *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>>
