Accueil > Forum > > > > jeux de mots avec flash
jeux de mots avec flash
lundi 7 février 2005 à 13:14:51 |
jeux de mots avec flash

ezo
|
bonjour a tous
je suis en train de m'initier a la programmation sous flash en faisant
des petits jeux de lettres pour mon amie qui est orthophoniste.
un des jeux est de masquer des mots de 2 (jusqu'a 9) lettres. j'ai mis au point un petit moteur
qui me permet de le faire mais j'en suis vraiment pas satisfait,
il est lourd et de plus il ne respecte pas la disposition du texte
d'origine, par ex :
Le chat est dans la cuisine.
Il ne pense qu'a manger !
devient avec la fonction masquer les mot de 2 lettres:
_ _ chat est dans _
_ cuisine . _ _ _ _
pense _ _ ' a manger _ chat est dans _
_ cuisine . _ _ _ _
pense _ _ ' a manger
ca m'a bouffer le paragraphe et virer le point d'exclamation, pas top tout ca.
voila!ce que j'ai reussi a faire atteint les limites de mes capacités actuelles et je n'arrive pas a aller plus loin.
si vous avez des idées elles seront les bienvenues.
merci
|
|
lundi 7 février 2005 à 13:56:13 |
Re : jeux de mots avec flash

Edwige31
|
Salut, Je te donnes mon avis ... J'aurais pris le problème dans l'autre sens ... Tu fais un trait correspondant aux lettres manquantes dans ta phrase (un clip représentant : _ ) Tu en disposes sur un clip A correspondant à la phrase 1. Tu mets toutes les lettres de ta phrase et tu met un masque uniquement sur les lettres visibles. Ensuite lors de l'affichage du résulatt, tu n'as plus qu'à ajouter un masque sur les lettres cachées et faire disparaître les _.
Voilà comment je prendrais le problème ... et tu aurais quelque chose de"light"
Edwige
|
|
lundi 7 février 2005 à 14:05:59 |
Re : jeux de mots avec flash

ezo
|
ce serait effectivement la bonne solution si le texte reste statique mais la ce n'est pas le cas .
travaillant avec des enfants elle a besoin de taper son texte comme ca
lui vient, donc en fait la fonction s'applique sur du texte de saisie.
merci pour ta reponse
|
|
lundi 7 février 2005 à 18:58:27 |
Re : jeux de mots avec flash

WhiteMagus
|
Tu peux utiliser un split pour scinder ta chaîne en différentes phrases pour chaque ligne. Puis tu appliques ton code. Mais je t'avoue que c'est plutôt obscur ton expliqation. Si tu pouvais mettre le code en ligne ça serait pas, on pourait plus t'aider. @+ !
À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
|
|
lundi 7 février 2005 à 21:11:50 |
Re : jeux de mots avec flash

ezo
|
ok je vais essayer d'etre un peu plus clair...
le programme dans son concept est assez simple, mon amie tape le texte
a faire travailler devant l'enfant puis ensuite masque les mots de 2
lettres ou plus , afin que l'enfant puisse reconstituer le
texte avec les mots manquants.
je vous copie la fonction que j'ai mis quelques jours a mettre
au point et qui est un peu lourdingue parce que je suis un peu novice
en la matiere, donc ne soyez pas trop dur avec moi.
masque = function (remplace,nombre) {
if (_root.entree.text !== "") {
// fonction 2 mots
// trouve retour
espace = "";
txt = _root.entree.text;
tab = txt.split("\r");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
espace = espace+" ";
} else {
espace = espace+" "+tab[n];
}
}
// trouve point
point = "";
tab = espace.split(".");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
point = point+" ";
} else {
point = point+" . "+tab[n];
}
}
// trouve virgule
virgule = "";
tab = point.split(",");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
virgule = virgule+" ";
} else {
virgule = virgule+" , "+tab[n];
}
}
// trouve pointvirgule
pointvirgule = "";
tab = virgule.split(";");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
pointvirgule = pointvirgule+" ";
} else {
pointvirgule = pointvirgule+" ; "+tab[n];
}
}
// trouve deuxpoint
deuxpoint = "";
tab = pointvirgule.split(":");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
deuxpoint = deuxpoint+" ";
} else {
deuxpoint = deuxpoint+" : "+tab[n];
}
}
// trouve exclamation
exclamation = "";
tab = deuxpoint.split("!");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
exclamation = exclamation+" ";
} else {
exclamation = exclamation+" ! "+tab[n];
}
}
// trouve interrogation
interrogation = "";
tab = exclamation.split("?");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
interrogation = interrogation+" ";
} else {
interrogation = interrogation+" ? "+tab[n];
}
}
// trouve apostrophe
apostrophe = "";
tab = interrogation.split("'");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
apostrophe = apostrophe+" ";
} else {
apostrophe = apostrophe+" ' "+tab[n];
}
}
// trouve tiret
tiret = "";
tab = apostrophe.split("-");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
tiret = tiret+" ";
} else {
tiret = tiret+" - "+tab[n];
}
}
// trouve parenthese
parenthese = "";
tab = tiret.split("(");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
parenthese = parenthese+" ";
} else {
parenthese = parenthese+" ( "+tab[n];
}
}
// trouve parenthesed
parenthesed = "";
tab = parenthese.split(")");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
parenthesed = parenthesed+" ";
} else {
parenthesed = parenthesed+" ) "+tab[n];
}
}
// trouve guillemet
guillemet = "";
tab = parenthesed.split("\"");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
guillemet = guillemet+" ";
} else {
guillemet = guillemet+" \" "+tab[n];
}
}
// trouve guillemets
guillemets = "";
tab = guillemet.split("&");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
guillemets = guillemets+" ";
} else {
guillemets = guillemets+" & "+tab[n];
}
}
// trouve pourcent
pourcent = "";
tab = guillemets.split("%");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
pourcent = pourcent+" ";
} else {
pourcent = pourcent+" % "+tab[n];
}
}
tab = pourcent.split(" ");
for (var i = 0; i<tab.length; i++) {
if (tab[i].length == nombre) {
tab[i] = remplace;
}
}
_root.entree.text = tab.join(" ");
// reinialise point
var enlvpoint = " . ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise virgule
var enlvpoint = " , ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ; ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " : ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ! ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ? ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ' ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " - ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ( ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ) ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " \" ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " & ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " % ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
var enlvpoint = " ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
}
}
ouff!!
voila le pavé !! ca marche pour ce qui est de trouver et de remplacer
mais c'est long et la mise en page du texte d'origine n'est pas
respectée.
j'espere que c'est un peu plus clair.
|
|
mercredi 9 février 2005 à 23:22:57 |
Re : jeux de mots avec flash

horyatus
|
En effet c'est un peu "bourrin" ta methode ! J'ai réfléchi à un truc plus simple, à toi de me dire si ca te convient:
(je suppose que remplace correspond au caractère à mettre lorsque qu'un mot doit etre caché, soit _ ici)
masque = function (remplace,nombre)
{
var taille=0; //taille d'un mot
var i,j;
var chaine:Array=new Array();
for (i=0;i<_root.entree.text.length;i++)
{
//transforme la chaine en tableau
chaine[i]=_root.entree.text.charAt(i);
//test si c'est un caractère "alphabetique" de a à z et de A à Z
if
((chaine[i]>='a' && chaine[i]<='z')||(chaine[i]>='A'
&& chaine[i]<='Z'))
taille++;
else
{
if (taille==nombre)
{
//remplace
for (j=taille;j>0;j--)
chaine[i-j]=remplace;
}
taille=0;
}
}
//refait un test si la chaine se finie par un mot a cacher
if (taille==nombre)
{
for (j=taille;j>0;j--)
chaine[i-j]=remplace;
}
_root.entree.text="";
//on remet dans le text de depart
for (i=0;i<chaine.length;i++)
_root.entree.text+=chaine[i];
}
voila normalement ca doit etre bcp bcp plus léger que ton code.
Hory
|
|
mercredi 9 février 2005 à 23:28:46 |
Re : jeux de mots avec flash

horyatus
|
....dsl pour la taille et l'indentation, j'ai pas fait gaffe à la taille !
|
|
jeudi 10 février 2005 à 09:28:13 |
Re : jeux de mots avec flash

ezo
|
en effet c'est beaucoup plus leger !!
je vais le regarder pour essayer de le comprendre un peu plus, je me
disais bien qu'il y avait surement une approche au niveaux des tableaux
mais je manque de vocabulaire actionscript pour formuler tout ca.
bon j'epluche ton code, je le test et je te tiens au courant
merci pour ton aide
@+
|
|
jeudi 10 février 2005 à 11:25:45 |
Re : jeux de mots avec flash

ezo
|
ca marche nickel !!!
la saisie du texte est respectée, et de plus j'ai appris pas mal de
choses en essayant de comprendre ton code, il ne me reste plus qu'a lui
faire prendre en compte les lettres avec des accents et ca devrait
rouler.
encore merci
eric
|
|
jeudi 10 février 2005 à 11:58:58 |
Re : jeux de mots avec flash

horyatus
|
Ok c cool ^^
Pour ce qui est des lettres accentuées il faut que tu les ajoutes à la condition comme ca:
if
((chaine[i]>='a' && chaine[i]<='z')||(chaine[i]>='A'
&& chaine[i]<='Z')||'é'||'è')
et normalement ca devrait rouler !
Hory
|
|
Cette discussion est classée dans : flash, mots, jeux, lettres, chat
Répondre à ce message
Sujets en rapport avec ce message
creation d'un jeux flash pluie de mots [ par micker ]
salut à tous je cherche à realiser un jeux en flash qui ressemblerais à ca :http://cyberclub.henouville
3D Chat [ par nuno11 ]
Bonjour, je me lance dans la programation d'un tchatte en 3D sous flash. J'aimerais savoir si quelqu'un connaitrait un site ou je pourai apprendre à s
chat visuel en flash [ par _R2_ ]
Bonjour, Je connais les sources d'un chat en flash mais, je n'arrive pas à créer un chat visuel (chat avec carte de l'environnement et apparition de p
jeux flash et php ! ! ! !! HELP ! ! ! ! [ par wneon ]
je voudré savoir comment on doi construire un jeux flash avec gains pour un site de jeux ...juste une explication qui résume en kelkes lignes...si c l
un petit site de jeux en flash [ par stachus ]
Salut a tous, je voulais juste vous montrer mon tous nouveau site, il est en version bêta, et savoir ce que vous en pensez, si il fonctionne avec votr
Développement jeux Flash : Recherche Agences spécialisées [ par titeuf444 ]
Bonjour,Société spécialisée dans le développement de sites Web dynamiques, nous cherchons à sous-traiter une partie de nos activités auprès d'agences
creer un launcher avec flash [ par kalunaleon ]
Salut a tous je me poser un question est possible de creer un launcher avec flash .car en faite j'aimerais faire en sort qu'avant chaque demarage du
Modif de Chat [ par michmichman ]
Bon voila j'ais trouvé sur ce site un super chat en flash-php-mysql je suis tout juste bon à le mettre en place et changer les graphisme, quelqun sera
Débutant ayant besoin de quelques précisions... [ par scoal ]
Bonjour à tous. J'ai fait un peu de flash, mais c'est des animations, des boutons, etc... J'aimerai commencer à utiliser, ou mieux à consevoir, des s
inserer des mots clés sous flash mx 2004 [ par conceptpc ]
Bonjour, Je me suis créé un petit site avec flash mx 2004 mais je ne sais pas comment je dois faire pour ajouter des mots clés pour que mon site soit
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|