2012-02-12 3 views
0

Dans mon code, je l'ai défini les suivantes: <s:Image id="test" x="50" y="50" width="30" height="30" click="onClick_clickHandler(event)" smooth="true" smoothingQuality="high" source="@Embed('icons/myImage_60_off.png')"/> Ce que je veux être en mesure de changer la source de l'image à chaque fois que l'utilisateur clique sur l'image - similaire à la façon dont les favoris travailler sur un navigateur. Je ne sais pas comment changer la source de l'image de mon code.image changement dynamique dans Flash Builder 4.6

Merci

Répondre

0


Je l'ai enfin fait!

public var image_loader:Loader; // définir un nouveau chargeur

image_loader = new Loader(); // créer le nouveau chargeur à l'endroit désiré (dans mon cas dans la méthode d'initialisation de la page

image_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded); // ajouter un écouteur et une fonction à attribuer à l'auditeur
selon l'endroit où la commande doit être exécutée

image_loader.load(new URLRequest('location of the image')); // cette charge l'image dynamique

function imageLoaded(event:Event):void {image_Id.source = image_loader;} // où image_id est l'identifiant des s: tag d'image à modifier

aussi, je devais retirer la source des s: tag image précédemment affichée
Le reste est juste logique de la façon dont l'application a besoin de mettre en œuvre la fonctionnalité, il est à peu près laissé aux désirs du développeur

0

J'ai eu un DataGrid caché avec ma solution, car il a commencé avec un visible.

L'image ressemblait à ceci:

<mx:Image top="153" left="10" right="10" bottom="5" source="{dgpick.selectedItem.ImageFile}" /> 

Chaque fois que quelqu'un clique sur l'image, j'augmenterait l'indice sélectionné de la grille de données, et les étiquettes afficheront les données correspondantes, car ils sont également liés à ses données.

L'image peut aussi avoir un lien vers un fichier XML que vous pouvez charger comme ceci:

<s:HTTPService id="Config" 
        url="config.xml" 
        result="resultHandler(event)"/> 

private function resultHandler(event:ResultEvent):void 
{ 
    ImagesURL = event.result.images.ImagesURL[iCounter];     

} 

Chaque fois que quelqu'un clique sur l'image, vous pouvez augmenter le compteur, et ainsi de suite.

J'espère que cela vous donnera quelques idées.

Il y a 20 façons de le faire.

Si vous avez besoin de plus de code, ajoutez un commentaire, avec ce dont vous avez besoin.

+0

Salut . Merci d'avoir répondu. Le compteur était aussi mon idée, je ne vous suis pas vraiment. J'ai déjà un HTTPService à mon avis (sur un serveur), puis-je en utiliser un autre? Est-ce une approche sûre? Aussi, pouvez-vous être un peu plus précis s'il vous plaît. Je viens de commencer avec Flash Builder et il y a encore des concepts que je ne comprends pas comme je le devrais. Je pensais que je pourrais juste utiliser quelque chose comme 'counter% 2 == 0 img.source = nouvelle source de l'image // pris forme un tableau sinon img.source = autre source // l'autre valeur du tableau' Merci encore – Adrian

+0

Merci encore de m'avoir répondu. – Adrian

Questions connexes