Accueil > Forum > > > > Creer un tableau de movie clip
Creer un tableau de movie clip
mercredi 23 mai 2007 à 19:50:30 |
Creer un tableau de movie clip

LunaticSky
|
bonjour voila je voudrais creer un tableau de movie clips, je connais la syntaxe des tableaux. en fait j'essaie de faire un jeu du memory et je n'arrive pas a relier mon tableau aux cartes. et donc lui associer l'evenement onPress (ex: tab[i].onPress -> est ce que j'ai le droit de le faire, est-ce bon et y a t il un autre moyen? mirciiii
|
|
jeudi 24 mai 2007 à 10:59:05 |
Re : Creer un tableau de movie clip

faiblard
|
Je ne connais pas d'autre moyen simple si ton nombre de clip et variable
tu fait un truc du genre :
for (iNum = 0; iNum < tab[MAX].length; iNum++)
{
/*permet de faire pour chaque MC*/
aTableauMC[iNum].onPress = function ()
{
//ton code
/!\ il ne faut pas qu'il y est de iNum la dedans sinon il prendra MAX +1 comme valeur... c'est la partie embétente...
}
}
|
|
jeudi 24 mai 2007 à 13:45:48 |
Re : Creer un tableau de movie clip

bali_balo
|
En supposant que tes clips soient nommés ainsi : "carte_0", "carte_1", etc. tu déclares tout d'abord ton tableau et tu mes les références de tes clips "cartes" dans celui-ci :
// en supposant que tu est 52 cartes sur la scène principales de référence "_root" var nbCartes :Number = 52; // déclaration et définition du tableau contenant les références des cartes var tabCartes :Array = new Array( nbCartes );
// référence à la carte courante pour une "meilleur gestion" dans la boucle for var carte :MovieClip; for( var i:Number = 0 ; i<nbCartes ; i++ ) { // on place la référence de la carte "carte_i" dans le tableau carte = _root["carte_" + i]; tabCartes[i] = carte ; carte.onPress = fucntion() { // ton code lorsque tu appuis sur une carte } // etc...
}
bali_balo....=] : ready for his come back on flashkod!!!
|
|
jeudi 24 mai 2007 à 14:40:52 |
Re : Creer un tableau de movie clip

LunaticSky
|
merci pour vos solutions mais le probleme c'est que je ne peux pas nommer toutes mes cartes 'cartes' sachant que je dois detecter quand deux cartes retournees sont identiques, enfin le principe du memory, je vous montre mon algo
//algo pour le memory //utliser duplicatemovie , setproperty etc !!
//variables var cptr: Number= new Number(0); var i: Number= new Number(0); var j: Number= new Number(); var k: Number= new Number(); var itmp: Number= new Number(0); var cptr: Number= new Number(0); var idInterval: Number= new Number();
//declarer le tableau le remplir etc //tab[i][j]; //mettre ttes les cartes en invisible dabord.
this.createTextField("timer_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
idInterval=setInterval(interval,5); var tab:Array = new Array("agw","hg","cg","agw","hg","cg");
function interval(){
cptr = getTimer(); /*for(i=0;i<7;i++) { _root["carte"+i]._visible=false; };*/ //tant que le jeu tourne pendant 10 minutes while(cptr<600000){ tab[i].onPress = function () //->c cette condition qui flanche { oktxt="bonnn";//juste pour verifier qu'on est entre dedans ce qui n'est pas le cas tab[i]._visible=false; _root["carte"+i]._visible=false;//cacher le revers de la carte //si on a pas fait de clik encore if (cptr==0) { //on stock le nom de la carte dans une variable temporaire tmp=tab[i]; itmp=i;//on stock son indice cptr+=1;//on incremente le ocmpteur de clik }
// si on a deja clike une fois else if (cptr==1){ //si les cartes sont identiques if(tab[i]==tmp){ tab[i]._alpha=30; tab[itmp]._alpha=30; //on les grise, incremente le score et les vire du tableau score+=10 score.text=score; tab.splice(i); tab.splice(itmp); }
else{//on les immobilise pdt 3 secondes sleep(3); //on les retourne tab[i]._visible=false; tab[itmp]._visible=false; } //on remet le cptr a 0 cptr=0;
} }
i++; if(i>7)i=0;
} }
|
|
jeudi 24 mai 2007 à 15:30:57 |
Re : Creer un tableau de movie clip

faiblard
|
@ Bali_Balo :
Il te sers a quoi de plus ton carte bali balo? (par rapport a mon code y'a juste les déclaration en plus (la flemme de les
mettre en aide) et carte...)
Explique moi pourquoi tu dit que cela donne une meilleur gestion?
@T'es cartes ne se nommeront pas toutes "cartes" mais "carte_1" "carte_2" (comme te la écris Bali_balo)
tu vire ton i++ i<7... a la fin.
Puis tu mes t'es "carte[i]" dans une boucle for comme indiqué au dessus...
Ca donnera a peu pres : ( a partir du while)
--------
while(cptr<600000){
for(i=0;i<7;i++)
{
tab[i].onPress = function ()
//->c cette condition qui flanche
{
trace("bonnn");//juste pour verifier qu'on est entre dans la fonction
tab[i]._visible=false;
_root["carte"+i]._visible=false;//cacher le revers de la carte
//si on a pas fait de clik encore
if (cptr==0)
{ //on stock le nom de la carte dans une variable temporaire
tmp=tab[i];
itmp=i;//on stock son indice
cptr+=1;//on incremente le compteur de clik
}
// si on a deja clike une fois
else if (cptr==1)
{
//si les cartes sont identiques
if(tab[i]==tmp){ tab[i]._alpha=30;
tab[itmp]._alpha=30;
//on les grise, incremente le score et les vire du tableau
score+=10
score.text=score;
tab.splice(i);
tab.splice(itmp);
}
else{//on les immobilise pdt 3 secondes
sleep(3);
//on les retourne
tab[i]._visible=false;
tab[itmp]._visible=false;
}
//on remet le cptr a 0
cptr=0;
}
}
}
}
}
PS : ca, ca fera pas 10 minutes :)
//tant que le jeu tourne pendant 10 minutes
while(cptr<600000)
ensuite a part pour : tab[i].onPress il ne faut pas la meme variable que celle de la boucle for pour les autre Entier... Car sinon tu aura la valeur max de la boucle for a chaque fois et non le i de la carte cliqué
|
|
jeudi 24 mai 2007 à 16:29:28 |
Re : Creer un tableau de movie clip

LunaticSky
|
daccord mais dans ce cas je vais devoir traiter les cartes au cas par cas, par exemple si j'ai une paire dans le jeu qui s'appelle Donald (sans rancune pour les fans de disney) il faut que je connaisse a quoi correspond chaque carte, par exemple les cartes cartes_1 et carte_3 sont des cartes Donald et faut que je le teste ici par exemple:
function interval (){
for( var i:Number = 0 ; i<nbCartes ; i++ ) { // on place la référence de la carte "carte_i" dans le tableau carte = _root["carte_" + i]; tabCartes[i] = carte ; carte.onPress = fucntion() { if(cptr==0){ tmp=carte; itmp=i; cptr+=1; } else if(cptr==1){ if(tmp=="carte_1"){//----> ICI //cartes 1 et 3 sont identiques if(carte=="carte_3") { carte_3._alpha=30; carte_1._alpha=30; score+=10; score.text=score; tabCartes.splice(i); tab.splice(itmp); } else{ carte._visible=false; carte_1._visible=false; } donc si j'ai 6 carte jvais devoir faire 6 tests..
|
|
jeudi 24 mai 2007 à 16:56:24 |
Re : Creer un tableau de movie clip

mdc888fr
|
Je voudrai pas mettre mon grain de sable, mais il me semble que Faiblard a déjà répondu à ta question... En effet, pourquoi tester chaque carte séparement ? Bref, de même, il me semble que le code
var carte :MovieClip; for( var i:Number = 0 ; i<nbCartes ; i++ ) { // on place la référence de la carte "carte_i" dans le tableau carte = _root["carte_" + i]; tabCartes[i] = carte ; carte.onPress = fucntion() { // ton code lorsque tu appuis sur une carte } // etc...
}
Serait pareil avec :
var carte :MovieClip;
for( var i:Number = 0 ; i<nbCartes ; i++ ) {
// on place la référence de la carte "carte_i" dans le tableau
tabCartes[i] = _root["carte_" + i]; tabCartes[i].onPress = fucntion() {
// ton code lorsque tu appuis sur une carte
}
// etc...
}
|
|
vendredi 25 mai 2007 à 00:30:18 |
Re : Creer un tableau de movie clip

bali_balo
|
Explique moi pourquoi tu dit que cela donne une meilleur gestion?
Le plus gros intéret d'utiliser l'AS2 pour moi c'est la création de structure performante, modulable, réutilisable , etc. avec les classes interfaces, etc. Le 2ème intéret c'est le typage des variables! Je suis chef de projet Flash. Depuis que j'ai à ma disposition Flash 8 et donc AS2. C'est que du bonheur!!! avec le typage. ça évite de passer des erreurs et des erreurs de debug pour rien alors que l'on comparé par exemple un String avec un Number... Le compilateur est moins bète! (c'était juste un exemple ^^) Bref, et pour la variable "carte" c'est une habitude, dans de gros bloc de code, il est préférable d'avoir une variable temporaire qui stocke la référence d'un clip dont le nom est complexe genre : tabGrilleSudoku[i][j] ou encore clip1.clip2["jetonMahjongg_"+i], etc. on fait : var tmp:MovieClip = clip1.clip2["jetonMahjongg_"+i]; for( ... ) { tmp._x = 9898; tmp._y = 9809; tmp.setId( 4 ); } C'est plus propre et surtout lisible que de faire :
for( ... ) {
clip1.clip2["jetonMahjongg_"+i]._x = 9898;
clip1.clip2["jetonMahjongg_"+i]._y = 9809;
clip1.clip2["jetonMahjongg_"+i].setId( 4 );
} bref, c'est mes méthodes de travail que je propose à mes développeur. Et il adore ça!!! Le code parraît vraiment plus claire... Enfin voilà quoi  . bali_balo....=]
|
|
vendredi 25 mai 2007 à 09:59:34 |
Re : Creer un tableau de movie clip

faiblard
|
Dans le cas que tu donne je suis d'accord a la limite d'utiliser une variable car tu la réutilise plusieurs fois...
Mais dans le cas présent la variable est totalement inutile, car tu ne la réutilise pas :)
Je comprends tout a fais ce que tu raconte mais a la base je viens d'informatique industrielle donc si une variable est inutile (réutilisé qu'une fois bof bof...) on ne l'utilise pas car perte de place et de temps au niveau de procédé industrielle ca joue énormément...
Il est vrai que le flash est moins contraignant car tu as le "temps" mais une variables que tu n'utilise pas plus d'une fois et tout de meme inutile...
Plus lisible, c'est vrai mais si tu code souvent tu conviendra que les deux s'interprètent aussi vite pour un codeur moyen...
Sinon je suis d'accord au niveau du typage qui est très important (je n'en mais pas dans l'aide car j'estime que le gars dois savoir le faire seul...) mais c'est un typage large a comparer au autres langage je trouve ^^
Sinon tu est chef de dévellopement flash a 22ans? pas mal... Ta pas une places de dispo des fois? :p
|
|
vendredi 25 mai 2007 à 13:34:30 |
Re : Creer un tableau de movie clip

bali_balo
|
En d'autres termes "on se comprend"...  Par rapport aux "places de dispo", nôtre société recherche quelques stagiaires Flash (convetionné) de très bon niveau. Nous dévellopons des jeux en Flash et d'autres petites applications en AS2 sous Flash 8. Nous sommes à Paris dans le 11ème. Si tu es intéressé, envoi moi CV+lettre de motivation. bali_balo....=]
|
|
Cette discussion est classée dans : creer, tableau, clip, onpress, movie
Répondre à ce message
Sujets en rapport avec ce message
Appel de var d'un txt dasn un movie clip [ par Burnside ]
Je n'arrrive pas a faire apparaître une variable qui se trouve dans un txt dans un movie clip.Merci,Burnside
Gestion de plus de 1000 Movie Clip [ par ace5150 ]
SalutJ'ai reçus comme projet la gestion de salle de spectacles avec réservation on-line de ticket. Jusque là pas de problème, lors de mes premier test
Grille aléatoire sur movie clip [ par Burnside ]
Bonjour,Je desirerai savoir comment l'on peut créer une grille vituelle dans un movie clip.Explication:J'ai un fichier Index.swf, qui load des autres
Movie clip invisible [ par spider987 ]
Voila je suis debutant en flash.Je vous explique ce que je souhaite realiser en deux mot :Bon je réalise un petit site en flashil y a un movie clip po
un movieclip qui controle la scene principale... [ par phiphou ]
Bonjour tout le monde...Voici mon pb :J'ai une scene principale, avec des boutons de navigation, et différents labels vers lesquels les boutons renvoi
comment remplacer un movie clip par un autre avec un bouton [ par seed ]
salut je voudrais reussi a changer un movie clip par un autre en utilisant un bouton j ai essayer un truc du genre on (release){_root.mon_clip=_root.
A l'aide !!!! [ par sylvain78 ]
Je me prend la tête avec un movie clip qui refuse une action !J'ai plusieurs scènes et de ce movie clip dans la deuxième scène je veux retourner sur u
movie clip [ par FSYLV ]
Bonjour et merci à l'avance.je souhaite creer une page de selection avec 20 images.que je puisse cliquer sur limage pour la diriger sur sa propre page
Supprimer un movie clip [ par Stan62970 ]
Salut a tsje ve supprimer un movie clip insséré depui la librairievoila ya pa grand chose a rajouter !merci d'avance(je c pa si c ds le bon theme ms c
deplacement movie clip [ par Stan62970 ]
Salut !chui en galére !je ve deplcé un movie clip par code !il fodré que je recrée l'evenment onClipEvent(EnterFrame)mais dans un layer (en gros)j'esp
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Forum
RE : PROBLEME RE : PROBLEME par docodoc
Cliquez pour lire la suite par docodoc
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|