Aide - Recherche - Membres - Calendrier
Version complète : Débutant!!
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Flex
deuns
Bien le bonjour à vous tous !
Me voilà projetté dans flex sans vraiment de connaissances en la matière, du coup l'aterissage est pas simple!

Je vous l'annonce de suite, mes questions vont être archi-basiques, désolé pour ceux qui vont perdre du temps en me lisant et merci à ceux qui vont me répondre smile.gif

J'ai de bonnes notions en programmation, mais flex me déstabilise un peu... Pour commencer comment débugger existe t'il un trace() ou quelque chose de similaire ? ou faut t'il créer un composant de texte et lui faire afficher la valeur des variables ?

Je remarque que le langage est archi orienté "classes" (tant mieux ^^), malheureusement sur mon projet, je dois reprendre un truc un peu sale :/ développé sans classe... Ma question est donc lorsque je vois des trucs comme ça:
CODE
private var arrayfilms:ArrayCollection;
Est ce que private sert à quelquechose (je rappelle ce n'est pas une utilisation dans une classe)?

Bon pour l'instant je vais m'arréter là, et chercher encore plus pour commencer à me lancer dans le code ^^

Merci encore pour vos futures réponses smile.gif
plop...
Tonic
Salut,

ne t'en fait pas, le trace existe toujours, il te suffit de lancer la compilation en mode debug, et tu pourras voir les traces dans la console du framework flex.

CITATION
Est ce que private sert à quelquechose (je rappelle ce n'est pas une utilisation dans une classe)?


Disons que ce n'est pas obligatoire, mais c'est une bonne habitude à prendre. Si tu ne le fais pas, tu auras droit à des warnings à chaque fois que tu déclareras une propriétés dans un mxml ou dans une classe.
deuns
Okay merci smile.gif
je viens de piger pas mal de trucs en tombant sur un des sujets du forums ^^
J'arrive à débugger c'est déja pas mal icon_razz.gif

Je viens de comprendre aussi qu'en fait tout est objet, et donc par la même l'intéret d'utiliser private (ou autres d'ailleur).

Je viens de rencontrer un soucis, avec Alert.show(), qui prend en premier paramètre un string, comment changer le type d'une variable (je veux afficher une variable de type entier dans cette fenêtre :/ ça fait bizarre de revenir à ça ^^).
(désolé encore pour ces questions basiques, mais la doc qu'on trouve est trop évoluée, et les outils de base manquent beaucoup :/ sans les noms difficile de chercher dans la doc !).
Tonic
Pour chaque objet, tu peux appliquer la méthode "toString()" pour transformer la variable en String.

Tu peux également forcer le typage en castant ta variable :

CODE
var chiffre : Number = 5;
Alert.show(String(5));
deuns
Parfait smile.gif merci, maintenant que j'ai les bases je promet de plus poser de questions trop débutantes wink.gif

Merci encore pour ton aide !
deuns
deuns
Je remonte ce sujet,
je n'arrive pas depuis un moment à faire une chose qui pourtant devrait être très simple...
Je vous résume :

J'ai un canvas, dans lequel il y a un viewStack... Le but (qui est déjà réussi) est de faire un diaporama... bref jusque là c'est bon, je charge les infos depuis une BD, mais ce que je veux c'est faire que ces images soient cliquables !

En cherchant un peu j'ai trouvé navigateToURL(), mais mon problème est pour appeler une fonction (le truc stupide ^^).

Je vous montre un bout de mon code :
CODE
                        //Création de chaque Image
              var newImage:Image = new Image;
              newImage.id = "IMG_"+i;
              newImage.source = (Objet_Courant.adresse) as String;
              newImage.toolTip = (Objet_Courant.titre) as String;
              newImage.addEventListener(MouseEvent.CLICK, OuvreURL(Objet_Courant.liens));
              canvas_cible.addChild(newImage);


Donc là je créé mes images, et à l'avant dernière ligne je créé un ecouteur sur le click de souris et qui appelle la fonction OuvreURL() que voici :

CODE
private function OuvreURL(lien:String):void{
        trace("entree");
        
    }

Or lorsque je compile j'ai l'erreur suivante: "1067: Contrainte implicite d'une valeur du type void vers un type sans rapport Function." indiquée à l'avant dernière ligne du code donné précédemment...
J'ai essayé plusieurs truc comme convertir "Objet_Courant.liens" en string (puisque c'est le type attendu) pas de meilleurs résultats...

J'ai vérifié que je recevais bien les données en faisant un trace(Objet_Courant.liens); c'est Ok tout est là !!!
Pour infos voici ce que contient "Objet_Courant.liens" =>
?article2&film=1886
?article2&film=2023
?article2&film=1709


Bref je suis un peu perdu là :/
Fusion
CODE
newImage.addEventListener(MouseEvent.CLICK, OuvreURL(Objet_Courant.liens));


Le problème c'est que le compilateur n'a pas la fonction qu'il attend. Toi tu donnes

CODE
private function OuvreURL(lien:String):void{
        trace("entree");
        
    }


et lui il veut ça :

CODE
private function OuvreURL(event:MouseEvent):void{
        trace("entree");
        
    }


Mais tu peux avoir l'url de l'image cliquée avec :

CODE
private function OuvreURL(event:MouseEvent):void{
        var urlS:String = event.currentTarget.source;
        
    }
deuns
Ok :) parfait j'ai compris, je te remercie ça fonctionne (c'était au final assez compréhensible !)
Merci encore :)
Tekkila
deuns... de creative?
deuns
Heuuuuu... icon_mrgreen.gif (nan nan c'est pas moi ^^ je suis incognito icon_razz.gif)

(ho nan pas encore des avertos !!!)
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.