• User

    Maschere As3

    Buongiorno,
    sto impazzendo....

    Carico su MovieClip container tot. immagini ognuna con una maschera al mouse over aggiungo un tween alla maschera per larghezza ed altezza uguale all'immagine.

    Beh, l'unica maschera che fà ciò che deve è quella nella posizione 0,0 mentre le altew oltre ad ingrandirsi si spostano sull'asse X di tot pixel.

    PErchè ??

    Io posso anche postare il codice ma il fatto è che carico tutto da xml...cmq ecco il pezzo incriminato:
    function Apri(e:MouseEvent):void{

    var id:int = parseInt(str_replace("i","",e.target.name));
    var tt:Number = (this.stg.numChildren - 1 ) ;
    this.stg.setChildIndex(this.stg.getChildByName("m"+id) , tt);

    /*POS [ID][4] larghezza immagine NON VOLEVO PERNACCHIARE 
    

    Tweener.addTween(e.target.mask,{width:pos[id][4],time:0.2,transition:"easeInQuart"});
    /*POS [ID][4] altezza immagine NON VOLEVO PERNACCHIARE
    Tweener.addTween(e.target.mask,{height:pos[id][5],time:0.2,transition:"easeInQuart"});

    }

    Perchè secondo voi mi funziona benissimo per l'unica immagina posizionata su 0,0 mentre dalla seconda in poi oltre ad allargare ed allungare la maschera mi sposta la x della maschera?

    Dove sbaglio? Che controllo devo inserire ?
    Cioè non la tocco neanche la x perchè si sposta?


  • User

    Inserite un immagine chiamata a.jpg sotto C:/ e fate partire il filmato...
    vedrete che la maschera fa quello che vuole invece di allargarsi della dimensione dell'immagine
    Dove sbaglio ?
    ecco il codice:
    var mc:Loader = new Loader();
    var box:Sprite=new Sprite();
    box.graphics.lineStyle();
    box.graphics.beginFill(0x000000);
    box.graphics.drawRect(100,100,80,100);
    box.graphics.endFill();
    box.cacheAsBitmap = true;
    mc.load(new URLRequest("c:\a.jpg"));
    mc.addEventListener(MouseEvent.MOUSE_OVER, Apri);
    mc.x = 50 ;
    mc.y = 50;
    mc.mask = box;
    addChild(mc);
    function Apri(e:MouseEvent):void{

    	e.target.removeEventListener(MouseEvent.MOUSE_OVER, Apri);
    	e.target.addEventListener(MouseEvent.MOUSE_OUT, Chiudi);
    
    	e.target.alpha = 1;
    

    Tweener.addTween(e.target.mask,{width:e.target.width,time:0.2,transition:"easeInQuart"});
    Tweener.addTween(e.target.mask,{height:e.target.height,time:0.2,transition:"easeInQuart"});

    	}
    

    function Chiudi(e:MouseEvent):void{
    e.target.removeEventListener(MouseEvent.MOUSE_OUT, Chiudi);
    e.target.addEventListener(MouseEvent.MOUSE_OVER, Apri);

    	e.target.alpha = 1;
    

    Tweener.addTween(e.target.mask,{width:100,time:0.2,transition:"easeInQuart"});
    Tweener.addTween(e.target.mask,{height:100,time:0.2,transition:"easeInQuart"});

    	}

  • User

    Inserite un immagine chiamata a.jpg sotto C:/ e fate partire il filmato...
    vedrete che la maschera fa quello che vuole invece di allargarsi della dimensione dell'immagine
    Dove sbaglio ?
    ecco il codice:
    var mc:Loader = new Loader();
    var box:Sprite=new Sprite();
    box.graphics.lineStyle();
    box.graphics.beginFill(0x000000);
    box.graphics.drawRect(100,100,80,100);
    box.graphics.endFill();
    box.cacheAsBitmap = true;
    mc.load(new URLRequest("c:\a.jpg"));
    mc.addEventListener(MouseEvent.MOUSE_OVER, Apri);
    mc.x = 50 ;
    mc.y = 50;
    mc.mask = box;
    addChild(mc);
    function Apri(e:MouseEvent):void{

    	e.target.removeEventListener(MouseEvent.MOUSE_OVER, Apri);
    	e.target.addEventListener(MouseEvent.MOUSE_OUT, Chiudi);
    
    	e.target.alpha = 1;
    

    Tweener.addTween(e.target.mask,{width:e.target.width,time:0.2,transition:"easeInQuart"});
    Tweener.addTween(e.target.mask,{height:e.target.height,time:0.2,transition:"easeInQuart"});

    	}
    

    function Chiudi(e:MouseEvent):void{
    e.target.removeEventListener(MouseEvent.MOUSE_OUT, Chiudi);
    e.target.addEventListener(MouseEvent.MOUSE_OVER, Apri);

    	e.target.alpha = 1;
    

    Tweener.addTween(e.target.mask,{width:100,time:0.2,transition:"easeInQuart"});
    Tweener.addTween(e.target.mask,{height:100,time:0.2,transition:"easeInQuart"});

    	}