Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    grazie mille per aver risolto l'arcano....

    mi ero perso nel classico bicchierino di grappa...
    figlio perso e MAI ritrovato....?

  2. #12
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    rieccomi....



    è possibile cambiare l'effetto di transizione da QUADRO a TONDO? e magari aggiungerci un effetto fade out/in?

    grazie
    figlio perso e MAI ritrovato....?

  3. #13
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da tigerjack
    rieccomi....



    è possibile cambiare l'effetto di transizione da QUADRO a TONDO? e magari aggiungerci un effetto fade out/in?

    grazie
    Nella prima stesura di quella classe ne avevo creata una parallela che usava i cerchi al posto dei quadrati, ma non ho continuato a svilupparla perchè era obiettivamente più brutta rispetto all'animazione con i rettangoli.
    Il codice della classe è questo, e va salvato in un file chiamato ScaleCircle.as

    Codice PHP:
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
    class 
    ScaleCircle {
        private var 
    __target:MovieClip;
        private var 
    __width:Number;
        private var 
    __height:Number;
        private var 
    __sections:Number;
        private var 
    __vsect:Number;
        private var 
    __grid:Number;
        private var 
    __time:Number;
        private var 
    __random:Boolean;
        private var 
    __easeType;
        private var 
    __intv:Number;
        function 
    ScaleCircle(target:MovieClipsections:Numberwidth:Numberheight:Numberrandom:BooleaneaseType:Function) {
            var 
    path this;
            if (
    target != undefined) {
                
    __target target;
                
    path['endOff'](__target);
                
    __width width;
                
    __height height;
                
    __sections sections;
                
    __vsect Math.ceil((__sections*__height)/__width);
                
    __grid __sections*__vsect;
                
    __random random;
                
    __easeType easeType;
                
    __time Math.round(1000/__sections);
                
    drawMask(__target__sections__vsect__grid__width__height__random__easeType);
            }
        }
        private function 
    drawCircle(target:MovieClipname:Stringlevel:Numberr:Numbercolor:Numberx:Numbery:Number):Void {
            
    target.createEmptyMovieClip(namelevel);
            
    with (target[name]) {
                
    lineStyle(00x000000);
                
    moveTo(x+ry);
                
    beginFill(color);
                
    curveTo(r+xMath.tan(Math.PI/8)*r+yMath.sin(Math.PI/4)*r+xMath.sin(Math.PI/4)*r+y);
                
    curveTo(Math.tan(Math.PI/8)*r+xr+yxr+y);
                
    curveTo(-Math.tan(Math.PI/8)*r+xr+y, -Math.sin(Math.PI/4)*r+xMath.sin(Math.PI/4)*r+y);
                
    curveTo(-r+xMath.tan(Math.PI/8)*r+y, -r+xy);
                
    curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
                
    curveTo(-Math.tan(Math.PI/8)*r+x, -r+yx, -r+y);
                
    curveTo(Math.tan(Math.PI/8)*r+x, -r+yMath.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
                
    curveTo(r+x, -Math.tan(Math.PI/8)*r+yr+xy);
                
    endFill();
                
    _x x;
                
    _y y;
            }
        }
        private function 
    drawMask(target:MovieClipsections:Numbervsect:Numbergrid:Numberwidth:Numberheight:Numberrandom:BooleaneaseType:Function) {
            
    target._parent.createEmptyMovieClip("masch"+target._nametarget._parent.getNextHighestDepth());
            var 
    diameter:Number Math.ceil(width/sections);
            
    target._parent["masch"+target._name]._x target._x+(diameter/2);
            
    target._parent["masch"+target._name]._y target._y+(diameter/2);
            for (var 
    1i<=gridi++) {
                
    target._parent["masch"+target._name].createEmptyMovieClip("circle"+ii);
                var 
    circle:MovieClip target._parent["masch"+target._name]["circle"+i];
                
    circle._xscale circle._yscale=0;
                
    drawCircle(circle"ci"1diameter/20x0000);
                if (
    != 1) {
                    var 
    circleP:MovieClip target._parent["masch"+target._name]["circle"+Number(i-1)];
                    if (
    circleP._x<width-diameter) {
                        
    circle._x circleP._x+diameter;
                        
    circle._y circleP._y;
                    } else {
                        
    circle._x 0;
                        
    circle._y circleP._y+diameter;
                    }
                }
            }
            
    target.setMask(target._parent["masch"+target._name]);
            var 
    path:Object this;
            if (!
    random) {
                var 
    index:Number 1;
                
    path['__intv'] = setInterval(function () {
                    
    path['animateMask'](targetrandompath['sec_arr'], indexgridtarget._parent["masch"+target._name]["circle"+index], easeType);
                    
    index++;
                    if (
    index>grid) {
                        
    clearInterval(path['__intv']);
                    }
                }, 
    __time);
            } else {
                
    path['sec_arr'] = new Array();
                for (var 
    0r<gridr++) {
                    
    path['sec_arr'][r] = r+1;
                }
                
    path['__intv'] = setInterval(function () {
                    var 
    impr:Number Math.random()*path['sec_arr'].length;
                    var 
    index path['sec_arr'].splice(impr1);
                    if (
    path['sec_arr'].length == 1) {
                        var 
    inda index;
                    }
                    
    path['animateMask'](targetrandompath['sec_arr'], indagridtarget._parent["masch"+target._name]["circle"+index], easeType);
                    if (
    path['sec_arr'].length<1) {
                        
    clearInterval(path['__intv']);
                        
    delete path['sec_arr'];
                    }
                }, 
    __time);
            }
        }
        private function 
    animateMask(target:MovieCliprandom:Booleanver_arr:Array, index:Numbergrid:Numbermc:MovieClipeaseType:Function) {
            var 
    path this;
            var 
    tween = new Tween(mc"_xscale"easeType015030false);
            var 
    tween = new Tween(mc"_yscale"easeType015030false);
            var 
    tw:Object = new Object();
            
    tw.onMotionFinished = function() {
                if (!
    random) {
                    if (
    index == grid) {
                        
    path['endOff'](target);
                    }
                } else {
                    if (
    mc._name == target._parent["masch"+target._name]["circle"+index]._name) {
                        
    path['endOff'](target);
                    }
                }
            };
            
    tween.addListener(tw);
        }
        private function 
    endOff(target:MovieClip) {
            
    target.setMask(null);
            for (var 
    prop in target._parent["masch"+target._name]) {
                if (
    typeof (target._parent["masch"+target._name][prop]) == "movieclip") {
                    
    target._parent["masch"+target._name][prop].removeMovieClip();
                }
            }
            
    target._parent["masch"+target._name].removeMovieClip();
        }
        public function 
    isFinished(target:MovieClip):Boolean {
            if (
    target._parent["masch"+target._name] == undefined) {
                return 
    true;
            }
            return 
    false;
        }

    Il codice è bacatissimo

    Riguardo alla questione della trasparenza, è possibile con un po' di modifiche, ma funzionerebbe solo dal flash player 8 e inoltre ci vorrebbe un po' di tempo per farlo e testarlo

  4. #14
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    non so, provai... ma mi da errore AS... ku fu?
    figlio perso e MAI ritrovato....?

  5. #15
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Non saprei, come ti ho scritto in altro messaggio, sono in attesa di un nuovo portatile dopo la dolorosa perdita del mio precedente, e solo lì posso installare Flash e utilizzarlo, anche per provare questo codice.

    [edit] Che errore ottieni?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.