Actionscript, petit problème de redimenssionement

Discussion dans 'Web, design' créé par PunkDeLuxe, 7 Décembre 2007.

Statut de la discussion:
Fermée.
  1. Offline
    PunkDeLuxe condom
    J'explique le topo :) Je dois charger une image de taille aléatoire dans un clip qui lui est de taille fixe (190px sur 120px). Donc que l'image soit "redimensionnée" automatiquement. Ce clip se nome : imageBig

    Pour le moment j'arrive à charger le JPG, mais pas à le redimensionner. Et c'est là que je fais appel à vous :) Voici le code que j'ai déjà fait : http://gamelike.net/flash.rar

    PS : si vous avez des sites clairs expliquant les différentes class d'actionscript je suis preneur :p
    PS2 : première fois de ma vie que je fais de l'AS ;)
    PunkDeLuxe, 7 Décembre 2007
    #1
  2. Offline
    [L56] Elite
    Hello,

    J'ai pas relooké ton code, mais à priori comme, ça je dirais que tu lances ta fonction de redimenssionement avant que l'image soit totalement chargée.

    Tu dois traquer le chargement de ton image, et lancer le redimensionnement avec _width et _height lorsque l'image est totalement chargée. Il en vas de même pour toute une série de propriétés des clip de flash.

    Si c'est pas ça, tu vx pas me faire un zip stp, paske j'ai pas un "dérareur" sous la main là...

    Je ne comprends pas trop ce que tu cherches comme explications sur les classes?
    Toute la base est expliquée dans l'aide de Flash.
    Tu veux des explication sur les classes natives de Flash ou tu vx savoir comment on fait ses propres classes?


    Si tu cherche de l'aide sur la conception de classes en AS2, je te conseil vivement le bouquin de Colin Moock : "Le meilleur d'Action Script 2.0"

    [L56]
    [L56], 7 Décembre 2007
    #2
  3. Offline
    PunkDeLuxe condom
    Pour les classes, les classes natives ... je sais c'est con mais la dernière fois que j'ai utilisé l'aide flash pas moyen de trouver une seule aide :/

    Voici le ZIP ;) http://gamelike.net/flash.zip

    J'irais voir le bouquin demain =)
    PunkDeLuxe, 7 Décembre 2007
    #3
  4. Offline
    [L56] Elite
    Je viens de regarder ton code, mais je ne vois pas ou se trouve ta fonction de resize??? :beuh:
    [L56], 8 Décembre 2007
    #4
  5. Offline
    PunkDeLuxe condom
    Enfait je ne trouve pas les fonctions etc pour créer cette fonction qui pour moi aurait été mise dans la fonction img1. Si quelqu'un sait ce que je dois utiliser exactement :D je prend (ou alors si il sait vite me faire la petite fonction et la commenter histoire que j'apprenne qqchose :p
    PunkDeLuxe, 8 Décembre 2007
    #5
  6. Offline
    [L56] Elite
    Tu es sur quel version de Flash?
    [L56], 8 Décembre 2007
    #6
  7. Offline
    PunkDeLuxe condom
    Sur ce flash normalement en AS2.0 mais il n'y a aucuns problèmes pour avoir un AS3.0
    PunkDeLuxe, 8 Décembre 2007
    #7
  8. Offline
    [L56] Elite
    Ok, mais on ne va pas faire de l'AS2 ni de l'AS3 tout de suite si tu débutes, ce qui m'interessais c'était de savoir si tu étais sur un version supérieure au 6 pour pouvoir employer le typage de variable, mais apparement c'est le cas.

    Voila le genre de code que tu devrais employer :

    Code:
    _root.createEmptyMovieClip("conteneur_mc",_root.getNextHighestDepth()); //creation d'un clip conteneur vide
    
    var imageBig:String="coucou.jpg";
    
    function img1(_imageBig) {
    	var enCharge:Number; 
    	var pTotal:Number; 
    	
    	_root.conteneur_mc.loadMovie(_imageBig); //on lance le chargement de l'image
    	
    	//on traque en boucle (x fois par secondes en fct de ton fps) le chargement
    	_root.onEnterFrame=function() {
    		enCharge=conteneur_mc.getBytesLoaded(); //nombre de bytes déja chargés
    		pTotal=conteneur_mc.getBytesTotal(); //poids total de l'élément à charger
    		
    		if(enCharge==pTotal && enCharge!=0) { // si l'image est totalement chargée, on resize 
    			conteneur_mc._width=180;
    			conteneur_mc._height=180;
    		}	
    	}
    }
    
    img1(imageBig); //lancement de la fct
    

    Ce petit script est une base. Si tu dois charger une multitude d'image, il faut evidement un peut faire evoluer le bazard... :-9

    [L56]
    [L56], 8 Décembre 2007
    #8
  9. Offline
    PunkDeLuxe condom
    Un gros merci :) Et je viens d'apprendre deux classes en plus grâce à toi :cool:
    PunkDeLuxe, 8 Décembre 2007
    #9
  10. Offline
    [L56] Elite
    ah bon??? lesquelles? :-s
    [L56], 8 Décembre 2007
    #10
  11. Offline
    PunkDeLuxe condom
    Oui, oui :
    enCharge=conteneur_mc.get BytesLoaded(); //nombre de bytes déja chargés
    pTotal=conteneur_mc.getBy tesTotal(); //poids total de l'élément à charger

    Comme marqué au dessus, je n'ai jamais fait de AS de ma vie, et j'ai juste eut les bases de flashen cours. Maintenant un autre problème, comment que faire (car en modifiant à la barbare il m'affiche en grand l'image) pour afficher 2 autre image resizée ?
    PunkDeLuxe, 8 Décembre 2007
    #11
  12. Offline
    [L56] Elite
    oulàlà, tu as un petit problème de vocabulaire.

    getBytesLoaded et getBytesTotal ne sont pas des classes, mais des "METHODES"

    _width et _height sont des "PRORPIETES"

    Une classe est un ensemble de mehodes et de propriétés, donc MovieClip est une Classe, tout comme Button.

    Une méthode, c'est une fonction. Une propriété, c'est...ben...une propriété quoi...
    Par exemple gotoAndPlay(4), c'est une méthode (tu y retrouves les parenthèses pour passer un paramètre à cette fonction integrée au MovieCLip)

    Une propriété : _witdh. Ca te permet de connaître la propriété "largeur" de ton mc.

    Si tu vas dans : C:\Program Files\Adobe\Adobe Flash CS3\fr\First Run\Classes , tu y trouveras toute les classes native de Flash (ON TOUCHES QU'AVEC LES YEUX!!! ;-D ). Tu verras ainsi ce qu'est une classe, enfin, pas tout à fait, car ces classe sont un peut particulères (elle ne contiennent que les signatures des methodes et propriétés, car les codes de celles-ci sont déjà compilés dans le Flash-Player), mais tu aurras une idées. Ce sont des fichier texte, donc tu peux les éditer avec notePad (mais ne les modifies surtout pas...)


    Pour qu'il affiche tes autres images resizées, tu dois les passer egalement comme paramètre à la fonction.

    si tu veux, montres moi ton code...
    [L56], 8 Décembre 2007
    #12
Statut de la discussion:
Fermée.