Forums Développement Multimédia

Aller au contenu

- - - - -

Position images AS3

CODE AS3

33 réponses à ce sujet

#1 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 03 May 2014 - 14:47 PM

Bonjour à tous !
J'ai importer une barrette d'image en vignettes ( en thumbs si cela vous parle plus )
Si leur dimensions sont les mêmes , je n'ai pas de probleme, mais si elles sont differentes,
l'espace entre les photos n'est pas regulier. ( et ça, j'aime moins)
Je pourrais modifier la taille dans photoshop, mais c'est pas le but !
Merci pour vos réponses ;-)

#2 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6954 messages

Posté 03 May 2014 - 17:04 PM

Salut,

Et c'est quoi plus précisément la question ?
Tu as un code à montrer ?

Merci.

#3 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 03 May 2014 - 17:28 PM

Bonjour Monsieur Spi !
La question est comment avoir un ecart égale entre photo.
Ci joint le Fla et le xml.
J'ai essayé de donner une valeur a mes photos dans le xml ( LARG)
et de le recupere dans le fla ...Mais rien !
MERCI à toi de voir mon probleme

Fichier(s) joint(s)



#4 gustave02

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 166 messages

Posté 06 May 2014 - 21:06 PM

bonsoir
je viens de charger ton fla et ton xml
je suis debutant et comme t'as mis aucun commentaire c'est pas evident pour moi de comprendre.
de plus on ne peut visualiser.

mais tu as mis

thumb_loader.x = (LargMini+ecartPhotoX)*x_counter;
thumb_loader.y = (LargMini+ecartPhotoY)*y_counter;

columns=6;
NumLigne=3;

if (columns==0) {
ligneX();
ContMini.x=(largeurScene/2)-(((my_total*LargMini)+(ecartPhotoX* (my_total-1 )))/2);
ContMini.y=(hauteurScene/2)-(LargMini/2);
} else {
colonne();
ContMini.x=(largeurScene/2)-(((LargMini*columns )+(ecartPhotoX* (columns-1 )))/2);
ContMini.y=(hauteurScene/2)-(((NumLigne*LargMini)+(ecartPhotoY*(NumLigne-1)))/2);
}

la je me dis

si ligne 111 columns=6;
pourquoi ligne 114 if (columns==0) {

c'est surement pas ca ton bleme mais?

@+ gustave02

#5 Vkaine

  • Guests

Posté 07 May 2014 - 18:15 PM

Bonjour gustave02 !

Le " if (columns==0) {.... " est un rajout que j'ai fait par rapport a un code que j'ai trouvé sur le net.
Deja la fichier de base (donc plus simple) ne marchait pas pour gere la difference de taille de chaque photos importées.

Le " if (columns==0) {...." me sert a modifier ma presentation des vignettes.
Si columns =0 les vignettes sont positionnées en ligne,
columns=1 une colonne et si plus , cela correspond au nombre de columns...

Au lieu d'avoir un seul code, j'ai mis une variable suivant la presentation voulu.

Je pense que cela vient du loader: un loader, une taille...mais là, cela me depasse :sad: :sad: :sad: :oops: :oops: :oops:


MERCI pour t'avoir répondu ;) ;) ;)

a ++ Vkaine

#6 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 07 May 2014 - 18:24 PM

Je voulais dire :

MERCI pour avoir répondu !!!

#7 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 24 May 2014 - 19:03 PM

Bonjour à tous !
J'ai presque résoulu mon probleme de position avec les photos en paysage et portait en aillant le meme espace entre elles. Dans le fichier ci-joint, elles sont bien " calibrées" mais elles ne sont pas placées dans l'ordre du XML.(2 photos elles se placent dans l'ordre + de 3 c'est dans le desordre !!! ) Pourquoi tant de haine ??!!

Merci a ceux qui veulent bien s'arracher les cheveux, moi, je n'en ai plus MDR.

A+

#8 Benzouye

  • Members
  • PipPipPipPipPipPipPipPip
  • 583 messages

Posté 25 May 2014 - 16:31 PM

Bonjour,

Tu as parlé de XML, donc je suppose que tu utilises des Loader et Event.COMPLETE ...
Du coup en fonction de la taille (en octets) des images, elles "arrivent" avec plus ou moins de décalage/retard ...
Pour s'affranchir de ce problème (si c'est bien celui-là), ranges tes loader dans un tableau, dans l'odre que tu souhaites, et lorsque toutes les images sont chargées, alors tu les affiches en utilisant le tableau.
Benzouye
Travaille avec FlashDevelop 4 + Flex SDK 4.6 open source

#9 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 25 May 2014 - 18:54 PM

Bonsoir Benzouye !
Je vais voire avec les tableaux si cela marche mieux .
Mais il y a une chose que je ne comprend pas, c est pourquoi dans le 1er fichier que j ai mis, je n ai pas de tableau (ARRAY) et pourtant il a bien gere l ordre du xml???
Mais bon,il ne gere pas les photos portait/paysage, avec le 2 eme il gere le portait/paysage mais pas l ordre...et si j essaie de "mixer " les deux, mes photos ont le meme format...ou alors j ai du rater une ligne ...
J essaie avec les tableaux mais si on pouvait vraiment faire le mixe de deux, je preferais... :-))

Merci d avoir repondu et je continue mes recherches sur la piste des tableaux ; -)
A+


#10 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 25 May 2014 - 20:27 PM

--

#11 Benzouye

  • Members
  • PipPipPipPipPipPipPipPip
  • 583 messages

Posté 26 May 2014 - 08:10 AM

Je n'utilise pas Flash, je ne peux donc lire les FLA pour voir ce dont tu parles ...

Peux-tu poster uniquement le code ?
Benzouye
Travaille avec FlashDevelop 4 + Flex SDK 4.6 open source

#12 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 26 May 2014 - 17:56 PM

Bonsoir Benzouye ,
ci-joint mes scripts.(fichier wordpad)

Merci de regarder mon probleme.
a+

Fichier(s) joint(s)



#13 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 30 May 2014 - 17:06 PM

Bonjour à tous !

Bon ! je ne sais pas trop gerer les tableaux...(encore un autre truc que je ne metrise pas :-( ...)
Pour importer les vignettes c'est bon, elles sont dans l'ordre mais le probleme c'est dans la fonction cliqueMini je ne sais pas quoi mettre.
Dans le fichier j'ai laissé la base qui fonction( mais les vignettes sont dans le desordre.)
et j'ai laissé ou j'en etais pour le cliqueMini.
J'ai essayé plein de truc, soit cela m'affiché ma grande photo mais les vignettes etaient encore dans le desordre soit cela n'affichait rien.

Et dire qu'a la base cela n'etait qu'un probleme d'espacement entre mes vignettes me voila entrain de tout changer. ( c'est comme ci je demandais "comment changer une cartouche " et on me repond " achete une autre imprimante " ) Y a t il plus simple et moins radical !!! ;-)

Merci à vous....
A+

Fichier(s) joint(s)



#14 Benzouye

  • Members
  • PipPipPipPipPipPipPipPip
  • 583 messages

Posté 02 June 2014 - 09:11 AM

Bonjour,

Avec un peu de retard ...

C'est peut-être un coup de bol, en local, si les images s'affichent dans le bon ordre, mais si ton appli est en ligne, alors le téléchargement aura un impact dans l'ordre de lancement des Event.COMPLETE ... Tu peux essayer un simulant le téléchargement avec Flash (option du flash player je ne me souviens plus où).

J'ai parcouru les fichiers script01 et 02. Je ne comprends pas pourquoi l'ordre serait différent dans un cas et dans l'autre ... Les addChild se font au même moment. Une solution peut-être serait mettre les addChild des Loaders dès le traitement du XML, sans attendre l'Event.COMPLETE ... tu n'aurais alors pas besoin des tableaux.
Benzouye
Travaille avec FlashDevelop 4 + Flex SDK 4.6 open source

#15 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 02 June 2014 - 12:20 PM

Bonjour !
Merci pour ta reponse, je regarde ca ce soir :-)
A+

#16 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 02 June 2014 - 19:35 PM

Bonsoir !
J ai déplacé les addchild un peu partout, mais rien n y fait, les vignettes sont toujours dans le desordre. ¦-(
Pour la simulation, c est une publication en html ou c est autre chose que je ne connais pas...
( le html ne marche pas non plus! Toujours dans le desodre )
3 essais ,3 ordres différents:
Ctrl entree, ouvrir directement le swf et le html .
Si tu as d autres idees...
Merci a+

#17 Benzouye

  • Members
  • PipPipPipPipPipPipPipPip
  • 583 messages

Posté 03 June 2014 - 08:35 AM

J'ai essayé de reprendre ton code de façon simplifiée pour expliquer le fonctionnement par tableau :
// ICI TES IMPORTS
import ...

// ICI TES VARIABLES
var ...

// Variable pour compter les images chargées
var TabNoeThumb:Array = new Array();
var cptLoad:int = 0;

// ICI TES OBJETS INSTANCIES

// Chargement XML
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener ( Event.COMPLETE,chargementXML );
urlLoader.load ( new URLRequest ( "DosXML/maroc2.xml" ) );

function chargementXML ( evt:Event ):void
{
        urlLoader.removeEventListener ( Event.COMPLETE,chargementXML );
       
        var myXMLLoader:XML=new XML(evt.target.data);
        my_images=myXMLLoader.IMAGE;
        my_total=my_images.length();

        for (var i:Number = 0; i < my_total; i++)
        {
                var thumb_url=my_images[i].@NoeTHUMB;
                var Full_url=my_images[i].@NoeFULL;
                var thumb_loader = new Loader();
                thumb_loader.load(new URLRequest(thumb_url));
                thumb_loader.contentLoaderInfo.addEventListener( Event.COMPLETE, imageLoaded );
                thumb_loader.name=i;

                // On stocke le loader dans un tableau, dans le même ordre que celui du XML
                TabNoeThumb.push ( thumb_loader );
        }
}

function imageLoaded ( evt:Event ):void
{
        // On incrémente le compteur d'images chargées
        cptLoad++;
       
        // Si toutes les images sont chargées on lance l'affichage
        if ( cptLoad == my_total ) allImagesLoaded();
}

function allImagesLoaded():void
{
        // Boucle d'affichage des miniatures selon ordre du tableau
        for ( var i:int = 0 ; i < my_total ; i++ )
        {
                var thumbTraitee:Loader = TabNoeThumb[i];
                thumbTraitee.contentLoaderInfo.removeEventListener( Event.COMPLETE, loadImageCompleted );
               
                // Positionnement et taille/échelle des miniatures
                thumbTraitee.x = ...;
                thumbTraitee.y = ...;
                thumbTraitee.width = ...;
                thumbTraitee.height = ...;
               
                // Ecouteur du clic
                thumbTraitee.addEventListener ( MouseEvent.CLICK, cliqueMini );
               
                // Affichage
                conteneur.addChild ( thumbTraitee );
        }
}

function cliqueMini ( e:MouseEvent ):void
{
        // ICI LE TRAITEMENT DU CLIC
}

Benzouye
Travaille avec FlashDevelop 4 + Flex SDK 4.6 open source

#18 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 03 June 2014 - 12:11 PM

Bonjour Benzouye !
7 heure du mat et tu as les idees aussi claire que ca !!! :-) :-) :-)
Un grand merci a toi d avoir pris ce temps pour m expliquer les tableaux
Je regarde tout ca ce soir et je te tiens au courant !
;-)
Merci
A+

#19 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 03 June 2014 - 19:40 PM

Bonsoir !
sniff !
Il me met " Nombre d'arguments incorrect "
J'y ai cru pourtant ;-)

ci-joint le ficher complet.(voir ligne rouge)
A+

Fichier(s) joint(s)



#20 Benzouye

  • Members
  • PipPipPipPipPipPipPipPip
  • 583 messages

Posté 04 June 2014 - 08:29 AM

Bonjour,

Cela vient du fait que la fonction allImagesLoaded attend un paramètres evt:Event ... ce qui est faux et une erreur de ma part dans le copié/collé :)
Simplement à corriger comme ceci :
function allImagesLoaded():void

Ensuite, ce n'est pas l'url qu'il faut pusher dans le tableau, mais le Loader lui-même, sinon ta ligne 153 va te renvoyer une erreur ... car ImagTab[i] va te renvoyer une chaîne de caractère et non un Loader ...
A corriger la ligne 136 :
ImagTab.push ( thumb_loader );

Allez, tu y es presque !
Benzouye
Travaille avec FlashDevelop 4 + Flex SDK 4.6 open source

#21 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 04 June 2014 - 18:06 PM

Bonsoir !
Bon, ben...j y ai cru...
Le fait de supprimer mon ecouteur le
" Var conteneur :sprite=evt.currenttarget as sprite" est bien triste sans lui..
Si mon conteneur est directement lié a mon event, je fais comment pour en retrouver un dans ma fonction???
Je fais spécialement une fonction pour mon " conteneur" et " index" ??? pour du coups il va mon poser des problemes pour mon " loader"
Sniff j y ai cru pourtant, j y ai cru..
:-):-):-);-)
A++

#22 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6954 messages

Posté 04 June 2014 - 20:09 PM

Salut,

J'ai la flemme de recoder la partie XML + faire des images pour la circonstance, etc...
Balance ton projet complet (je veux dire la partie fonctionnelle + images de tests) et je verrais si je peux te filer un coup de main en + de ce que te propose déjà Benzouye (que je salue au passage).

#23 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 05 June 2014 - 18:46 PM

Bonsoir Monsieur Spi !
ci-joint : le fla, le xml et les photos test ! ( dossier RAR)
Le fla est le dernier en date avec toute les modifs depuis le debut.
Merci pour ton aide
;-)

A+

Fichier(s) joint(s)



#24 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6954 messages

Posté 06 June 2014 - 17:16 PM

Salut,

Bon... j'ai regardé vite fait ton code, le problème c'est que c'est difficilement lisible, pour tout dire c'est un peu embrouillé, pour donner un exemple, si tu devais lire la même chose mot pour mot en français je ne suis pas sur que tu comprenne ce que ça dit...

Si je dis ça c'est parce qu'il me semble (et je peux me tromper) que tout serait beaucoup plus simple si tu faisait les choses dans l'ordre. Vois ton code comme si tu écrivais une lettre d'instructions à quelqu'un (un humain), tu peux soit expliquer tout ce qu'il doit faire de manière très compliquée (et dans ce cas tu réfléchis en même temps que tu écrit), soit ne pas utiliser 15 mots à où 3 suffiraient (et tu réfléchis à ce que tu veux dire avant de l'écrire).

Mon conseil serait de revoir tout ton code au propre, en prenant le temps de tout commenter ligne par ligne et de te relire pour voir clairement les points qui ne sont pas logiques (exercice d'algorithmique inversée). Puis de tout repenser au propre avant de commencer à te pencher sur le code en lui même.

Pour régler ton problème, je t'ai préparé une base, il te suffit de remplacer ton code par celui-ci dans le FLA que tu as envoyé pour que la partie qui te pose problème marche, cependant tu devra recoder tout le reste (ça te fera un bon second exercice ;) ). Je n'ai volontairement commenté que les actions principales, à toi de comparer avec ton propre code pour voir où j'ai apporté une modif sur la partie concernée.



// déclare les variables globales
var W:int;
var H:int;
var listeImages:XMLList;
var nombreImages:Number;
var urlLoader:URLLoader
var stockImages:Array;
var espace:Number;
var thumbnail:Sprite;
var picture:Sprite;

// lance l'initialisation du programme
init();


// initialisation du programme
function init():void{
       
        // récupére la largeur et hauteur de la scène
        W = stage.stageWidth;
        H = stage.stageHeight;
       
        // valorise les paramètres utiles
        stockImages = [];
        espace = 10;
       
        // crée les objets d'affichage
        picture = new Sprite();
        thumbnail = new Sprite();
        thumbnail.y = H-119;
        thumbnail.addEventListener(MouseEvent.CLICK, cliqueMini);
        thumbnail.addEventListener(MouseEvent.MOUSE_OVER, overMini);
        thumbnail.addEventListener(MouseEvent.MOUSE_OUT, outMini);
        thumbnail.buttonMode=true;

        // rempli la liste d'affichage
        addChild(thumbnail);
        addChild(picture);

        // lance le chargement du fichier XML
        urlLoader = new URLLoader();
        urlLoader.addEventListener(Event.COMPLETE,  parseXML);
        urlLoader.load(new URLRequest("DosXML/test.xml"));
}


// récupére les infos du XML
function parseXML(e:Event):void {
       
        var i:int;
        var vignette:String;
        var chargeur:Loader;
       
        listeImages = new XML(e.target.data).IMAGE;
        nombreImages = listeImages.length();   

        for (i = 0; i < nombreImages; i++) {
                vignette = listeImages[i].@NoeTHUMB;
                chargeur = new Loader();
                chargeur.name = String(i);
                chargeur.load(new URLRequest(vignette));
                chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE,  vignetteChargee);
                stockImages.push(chargeur);
        }

        urlLoader.removeEventListener(Event.COMPLETE, parseXML);
}

// quand une vignette est chargée
function vignetteChargee(e:Event):void {
        // vérifie si toutes les vignettes sont chargées
        if (stockImages.length == nombreImages) {
                for (var i:int = 0; i < stockImages.length; i++) {
                        if(i>0) {
                                stockImages[i].x = stockImages[i-1].x+stockImages[i-1].width+espace;
                        }
                        thumbnail.addChild(stockImages[i]);
                }
        }
}

// quand on clique sur une vignette
function cliqueMini(e:MouseEvent):void {
        var image:Loader = new Loader();
        image.load(new URLRequest(listeImages[e.target.name].@NoeFULL));
        image.contentLoaderInfo.addEventListener(Event.COMPLETE, imageChargee);
        thumbnail.alpha = 1;
}

// quand l'image est chargée
function imageChargee(e:Event):void {
        while(picture.numChildren) picture.removeChildAt(0);
        picture.addChild(e.target.loader);
        picture.x = W/2-picture.width/2;
        picture.y = H/2-picture.height/2;
}

// effets des vignettes
function overMini(e:MouseEvent):void {e.target.alpha = 0.5;}
function outMini(e:MouseEvent):void {e.target.alpha = 1;}
 

Bon courage et n'hésites pas si il y a des choses que tu ne comprend pas.

#25 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 07 June 2014 - 08:57 AM

Bonjour Monsieur Spi !

Merci pour ton aide !
Je ne comprend pas ton "c'est difficilement lisible". Ce n'est pas pour chouiner mais bien pour comprendre et apprendre.
j'ai bien:
mes imports
mes variables( avec indication " creation bouton...)
ma variable URLoader,
les functions
et pour terminer les funstions MouseEvent.

Est-ce parceque ,par exemple, pour mes boutons, j'ai la VAR et le XY ?
J'aurai du faire Var 1, var2 puis X1, X2...
Pour les fonctions , c'est une base que j'ai recupere et ajouter les VAR textes.
Pour ton code, c'est la premiere fois que je vois le "urlLoader = new URLLoader();" dans une fonction.
C'est plutot dans les packages qu'il est gere comme ça..
Je vais faire mes exercices ;-) ;-) :smile: et voir si il y a des choses que je n'ai pas compris.
Merci
A+

#26 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6954 messages

Posté 07 June 2014 - 11:15 AM

Citation

Je ne comprend pas ton "c'est difficilement lisible". Ce n'est pas pour chouiner mais bien pour comprendre et apprendre.

Quand on code il y a non seulement le code qu'il faut apprendre, mais aussi ce qu'on appelle les conventions de nommage, ou nomenclatures.
Par exemple :

Les noms de variables et de fonctions commencent toujours avec une minuscule.
Les classes commencent toujours avec une majuscule.
Si tu code dans l'IDE les 3/4 des imports des classes de base ne servent à rien (c'est automatique).
Il est recommandé de placer tes déclarations de de variables ou objets à un seul endroit en haut de ton programme (ou de ta classe).
Éviter de mélanger le français et l'anglais, choisi l'un ou l'autre mais de préférence l'anglais.
Ne pas déclarer des variables à l'intérieur des boucles mais en dehors et les valoriser dans les boucles.
Essayer de réutiliser les même objets (object pooling) et pas les supprimer pour les recréer.
...

Citation

Pour ton code, c'est la premiere fois que je vois le "urlLoader = new URLLoader();" dans une fonction.
C'est plutot dans les packages qu'il est gere comme ça..

Oui, je fais une fonction "init()" qui me permet de valoriser et créer toutes mes variables et objets utiles à un seul endroit et dans le bon ordre, ceci permet de rappeler la fonction quand je veux pour réinitialiser le programme ou l'initialiser au moment où je le souhaite. Les package n'ont rien à voir là dedans, mais effectivement l'écriture d'une classe impose cette structure, de mettre les déclarations juste après la déclaration de la classe.

Tout ceci n'est pas obligatoire bien sur, tu peux coder comme tu veux du moment que ça marche, mais respecter ces conventions (et il y en a beaucoup d'autres) permet à ton code d'être plus clair et de facilement être repris par quelqu'un d'autre, et te permet aussi d'éviter de nombreuses erreurs. Ca va aussi te permettre de mieux synthétiser et factoriser ton code, car tu va voir les choses qui se répètent ou celles qui sont mal écrite et pourraient se résumer à une ligne ou deux.

Bref c'est un peu comme si tu voulais écrire en chinois alors que tu es francophone, tu peux connaître les mots et la construction des phrases, mais sans un peu d'habitude tu va galérer à les construire si tu ne respecte pas les "conventions", et du coup ton interlocuteur aura lui aussi du mal à te suivre, même si vous parlez le même langage. Bon après ce n'est qu'un conseil, tu fais ce que tu veux ;-)

#27 thot

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPip
  • 328 messages

Posté 07 June 2014 - 15:24 PM

Les conventions de nommage... ça devrait faire l'objet d'un tuto entier tiens. Limite je pense qu'on devrait apprendre ça aux gens en même temps que les bases du langage.

#28 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6954 messages

Posté 07 June 2014 - 16:21 PM

+1 Thot.

De même qu'on apprend la ponctuation lorsqu'on apprend une langue, une simple virgule mal placée pouvant faire toute la différence :

"On mange les enfant" != "On mange, les enfants".

#29 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 07 June 2014 - 17:06 PM

Bonjour à tous !
Merci Monsieur Spi pour ton aide.Tout marche ou presque.( j'aimerai que quand on clique la grand photo, la photo disparaisse - ca marchait avant donc je vais encore chercher avant de me retourner vers vous ;-) )

Merci aussi pour ce que tu viens d'écrire. Il est vrai que lorque nous sommes novices( autodidacte), le copier/coller marche bien, puis on bidouille en reprenant d'autre script.
Le probleme avec AS3,(ou pas) c'est tu peux écrire une chose de dix façons differentes et le rendu final est le même.
Quand tu connait tout les façons et que tu as toutes les clefs, c'est bien mais le petit novice, il gongle avec les deux,si ce n'est plus.. :eusa_doh: :eusa_doh:
Il se pose la question " mais pourquoi lui il a fait ca et pas lui ???" et il jette son dévolu sur l'un des deux.

Je comprend que cela ne doit pas etre facile a dechiffrer tout notre charabia et au nom de touts les novices je vous dis un grand MERCI !
:Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola: :Hola:

Cependant nous ne le faisons pas deliberement...(quoique... :roll: :roll: :roll: )
Je suis d'accord avecThot

Citation

Limite je pense qu'on devrait apprendre ça aux gens en même temps que les bases du langage.
Car que cela soit en anglais ou bien que la réponse fait 10 pages et la, tu te souviens plus de la questions :? :? :? .Comprendre tout n'est pas evidant.
Mettre aussi les similaires : cela peux s'écrire comme ça mais aussi comme ça ou ça...
Je me suis fait un petit cahier et je note ce genre de chose et cela est plus simple...(c'est mon petit trousseau de clés à moi :oops: ;-) )

Encore un grand Merci
et a bientot... :huh: :huh: :huh: enfin non... :unsure: :idea: :?: j'espere ne plus avoir de probleme :D ;-) ;-) ;-)
Note:
Je vais etudier des scripts de jeu Monsieur Spi, j'espere que cela me conduira vers le bon chemin :D ;) :D ;)
Salut !

Citation

"On mange les enfant" != "On mange, les enfants".
:twisted: :twisted: :twisted: c'est quoi la difference :twisted: :twisted: :twisted:

#30 thot

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPip
  • 328 messages

Posté 07 June 2014 - 17:47 PM

Je pense que comme beaucoup de gens tu t'y prend de travers, ce n'est pas de ta faute ceci dit. Il n'est pas essentiel d'étudier un gros pavé de script pour arriver à un résultat final précis, puis ensuite une autre façon de faire etc...

Le but quand tu apprends le code, c'est de comprendre ce que tu fais et non comprendre le raisonnement d'un autre ( qui a peut être juste copié collé du script lui aussi ). Passe plutôt plus de temps sur l'étude des fondamentaux, apprend à construire ta pensée avant de coder.

Une fois que tu auras cette réflexion, cette méthodologie, il te restera la partie la plus simple:
Comment traduire mes étapes en termes de code ?

Une fois que tu sais penser une appli de A à Z, que tu pourrais ( et que tu devrais dans un premier temps ), décrire toutes les étapes de sa construction avec des phrases en bon français ( ou toute autre langue jm'en fous ) là tu seras capable de créer une bonne appli.

Maîtriser ses bases, les combiner pour faire quelque chose de plus complexe, c'est ça le secret de la maîtrise et rien d'autre, tout les grands chefs patissiers, les musiciens de renoms, les développeurs te le diront.

Si je devais donner un seul conseil aux débutants ce serait d,arrêter le code de fainéant, dont le copier-coller est la pièce maîtresse.

#31 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 07 June 2014 - 18:48 PM

Je comprend le code de fainéant. Il y a pourtant deux types de fainéants...celui qui copie/colle sans rien changer et il y a l autre qui cherche a comprendre..et je ne pense pas que as3 soit le langage le plus simple a comprendre.j ai lu le pave de thibault Imbert...le probleme c est ce n est pas forcement des exemples concrets ou qui ne nous conserne pas forcement...moi mon but c est de faire un cite de photos avec differente facon de presenter les photos...le probleme je pense avec les novices (je m inclu dedans) c est que l on veut faire vite et donc eviter aussi de passer par la casse depart.c est une erreur,je le sais
Mais je ne veux pas en faire un metier ,c est peut etre pour cela que j ai un detachement envers la nommanclature...
Mais cela fait du bien de ce faire tirer les oreilles
Merci pour tous vos conseils
Ps: j ai resolu mon probleme du clic sur la grande photo et tout marche tres bien grace a vous ...
;-)

#32 thot

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPip
  • 328 messages

Posté 07 June 2014 - 19:19 PM

Je ne te tirais pas vraiment les oreilles, je te donnais un conseil, à toi et à tout les débutants qui liront ce post. Après même si tu ne souhaites pas en faire un métier, je pense que mes conseils te seront utiles ;)

#33 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6954 messages

Posté 08 June 2014 - 14:03 PM

Citation

Je comprend le code de fainéant. Il y a pourtant deux types de fainéants...celui qui copie/colle sans rien changer et il y a l autre qui cherche a comprendre..

Prendre du temps pour se doter des bons outils est essentiel si tu veux aller vite sans te prendre la tête, malheureusement ce n'est pas le cas de la plupart des débutants qui veulent des résultats immédiats et bien souvent sur des projet dont l'envergure dépasse largement leurs capacités. Ca se fini donc par des copier/coller pour aller vite, puis par des codes tout embrouillés, puis finalement par une question sur un forum parce qu'on ne s'en sort pas et à laquelle la réponse est souvent : "il faut revoir les bases" car personne ne comprend ce que cette personne à voulu faire. Résultat des courses, on a passé 10 fois plus de temps à trifouiller un truc qu'on maîtrise pas et à attendre que d'autres nous dépatouillent le truc, pour au final reprendre les bases par lesquelles on aurait du commencer...

Que tu veuilles en faire ton métier ou pas n'est pas la question, si tu joues au Poker avec des amis tu sera bien obligé d'apprendre et de suivre les règles, tout comme le joueur professionnel que tu ne veux pas devenir.

Bon courage ;-)

#34 Vkaine

    Ceinture Jaune

  • Members
  • PipPip
  • 18 messages

Posté 10 June 2014 - 13:17 PM

;-) ;-) ;-) MERCI POUR VOS CONSEILS ;-) ;-) ;-)




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP