Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    2

    [as3] Problema Addeventlistener e ciclo for

    Salve a tutti,
    avrei gentilmente bisogno di un aiuto per risolvere un problema legato alla galleria che sto creando.
    Nella seguente funzione vengono create tramite un ciclo for e la lettura di un file XML dei movieclip che contengono le anteprime delle gallerie. Ho applicato un effetto alpha in entrata... e fino a qui nessun problema.
    Il problema arriva quando associo l'addeventlistener all'array clips[i], che teoricamente dovrebbe poi gestire l'evento MOUSE_OVER e MOUSE_OUT tramite le funzioni onOver e onOut ai movieclip creati... ma quando provo lo script, passando sopra le anteprime appena create non avviente nessuno effetto rollout e rollover e appare il seguente errore:

    TypeError: Error #1010: Un termine risulta undefined e non ha proprietà.
    at MethodInfo-130()

    Chiedo gentilmente il vostro aiuto per riuscire a passare i moviclip clips[i] alle funzione onOver e onOut in modo che ogni anteprima possa avere il suo rollover e rollout al passaggio del mouse

    Ecco il codice:

    codice:
    function categorie():void{
    
    var container_mc:MovieClip;
    var clips:Array = [];
    for (var i:Number= 0; i < my_total; i++) {
    
        container_mc = new MovieClip();    
        container_mc.name = "cont" + i;
    
        addChild(container_mc);
        var thumb_url = my_images[i].@THUMB;
        
    var immma:Loader = new Loader();
    immma.load(new URLRequest(thumb_url));
    container_mc.addChild(immma);
    
        clips[i] = container_mc;
        clips[i].id = i;
        clips[i].alpha = 0;
        clips[i].buttonMode = true;
        clips[i].addEventListener(MouseEvent.MOUSE_OVER, onOver);
        clips[i].addEventListener(MouseEvent.MOUSE_OUT, onOut);
    
            var assex = (my_thumb_width+10)*x_counter;
            var assey = (my_thumb_height+10)*y_counter;
            
            clips[i].x = assex;
            clips[i].y = assey;
    
    Tweener.addTween(clips[i],{x:assex,y:assey,time:0.4,alpha:0.5,transition:"linear"});
    
    }
    
    function onOver(e:MouseEvent):void {
        clips[i].alpha = 1;
     
    }
    
    function onOut(e:MouseEvent):void {
        clips[i].alpha = 0.5;
    }
    
    
    
    }

  2. #2
    dovrebbe essere

    codice:
    function onOver(e:MouseEvent):void {
        e.target.alpha = 1;
     
    }
    
    function onOut(e:MouseEvent):void {
        e.target.alpha = 0.5;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    2
    Funziona!
    Grazie mille per l'aiuto Stan!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.