Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/03/2011, 15h14   #1
Invité de passage
 
Inscription : mars 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 1
Points : 0
Points : 0
Par défaut Redimensionnement images

Bonjour à tous ,

J ai un problème concernant le redimensionnement de jpeg.
Je bloque ...

J'ai une première fonction qui charge mes url à partir d'un tableau.
Lorsque l'url est chargé , je lance la fonction resizeI.
Lorsque toute les images sont chargé , je lance mon diapo via la fonction startShow();
Le redimensionnement fonctionne , le problème est que les images (redimensionnés de mon tableau my_loaders_array ), se disposent dans un ordre aléatoire. En effet à chaque compilation , mes images sont disposés dans un ordres différent.


Comment puis faire pour garder l’ordre initial ?

Merci d'avance à vous tous !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
public function loadImages():void
        {
 
                for (var i:Number = 0; i < my_total; i++)
                {
 
                        var my_url:String = tableauImagePoint[i].lienI;
 
                        my_loader = new Loader  ;
                        my_loader.load(new URLRequest(my_url));
                        my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
                        my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,resizeI);
 
 
 
 
 
 
 
 
 
                }
        }
 
public function resizeI(e:Event):void
        { 
        targetLoader = Loader(e.target.loader);
        targetLoader.width = Capabilities.screenResolutionX;
        targetLoader.height = Capabilities.screenResolutionY;
 
        my_loaders_array.push(targetLoader); 
 
 
 
 
 
 
 
        }
 
 
        public function onComplete(e:Event):void
        {
 
 
                my_success_counter++;
 
                if (my_success_counter == my_total)
                {
 
                        startShow();
                }
        }
mnmhmnmh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 23h38   #2
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut array

slt
il semble que tu utilise un tableau indexé , logiquement tu ne devrait pas avoir de problème d'ordre. Un tableau indexé conserve l'ordre dans laquelle on ajoute les éléments.
par contre je pense que c'est le traitement du loading de tes image qui fait que l'ordre s'inverse, car le Loading ne se fait pas toujours pareil en fonction de tas de paramètres. Dans ton code tu utilise une boucle pour appeller loader mais tu n'attend pas d'être sûr que l'image soit charger et traiter avant d'appeler le prochain loader.
donc t'es loader s'enchainent les un les autres et en fonction des temps de chargement et autre il arrive que ton premier loader déclenche ton écouteur après le deuxieme ect ...

assure toi après avoir appeler un loader qu'il est bel et bien chargé et traité avant de charger le suivant.

A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 15h54   #3
Rédacteur
 
Avatar de The_Pretender
 
Homme Matthieu DELOISON
Formateur ActionScript Flash
Inscription : juin 2004
Messages : 645
Détails du profil
Informations personnelles :
Nom : Homme Matthieu DELOISON
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Formateur ActionScript Flash
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2004
Messages : 645
Points : 3 673
Points : 3 673
Bonjour,

Sinon, pour être de consever le chargement dans l'ordre, tu peux utiliser l'API Loading de Pixlib 3.0

Sur ce tutoriel Pixlib 3.0 - The Loading API - Event, il y a exactement ce qu'il te faut.
__________________
Découvrez : Tutoriels, ressources AS2 et AS3
La Méthode AS3 Facile pour développer des applications et jeux Flash en ActionScript 3 : ActionScript-Facile.com
The_Pretender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h26   #4
Membre éprouvé
 
Avatar de IP-Fix
 
Inscription : mars 2006
Messages : 406
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 406
Points : 433
Points : 433
Envoyer un message via MSN à IP-Fix
La premiere image qui lance son chargemement est pas forcement la premiere a le finir surtout que t'en lance plein en meme temps, c'est là d'ou viens ton errreur.

Crée toi une file de chargement manuellement, sinon l'api loadermax marche bien, pas testé pixlib3 encore :

https://www.greensock.com/loadermax/
__________________
Mon nouveau blog : Flash-Dungeon : AS3 / Objectif-C
IP-Fix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h27.


 
 
 
 
Partenaires

Hébergement Web