Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    32

    scorrimento di un'immagine

    Ciao, è da poco che mi cimento a scrivere qualche riga di codice con ActionScript e sono incappato in un problema. Premetto che più che altro si tratta di un problema logico...
    Ho un'immagine che si estende in un'area più lunga dello stage, sopra di essa c'è una maschera che permette di vedere soltanto la parte di immagine che voglio. Tramite due movieclip usati come pulsante voglio scorrere l'immagine verso l'alto e verso il basso (praticamente lo scorrimento dell'immagine).
    Il mio problema è questo:
    se associo ad esempio al pulsante di scorrimento verso l'alto un incremento della proprietà _y dell'istanza dell'immagine, non riesco ad evitare che l'immagine scorra verso l'alto anche quando è già nella sua posizione massima.
    La proprietà _y può assumere come valore da +85.5(posizione normale dell'immagine) a -574.5.
    Non riesco ad impostare una condizione che eviti che il pulsante scorra l'immagine nel caso il valore di _y superi l'intervallo sopra citato. Probabilmente è una stupidagine ma è da ieri sera che ci sbatto la testa...
    Potete essermi di aiuto?

    Questo a grandi linee è il codice del pulsante:
    onClipEvent (mouseDown)
    { if (this.hitest.......(tutto il codice di collisione con le coordinate del mouse), ecc...
    premuto=true;}
    onClipEvent (mouseUp)
    {premuto=false;}
    onClipEvent (EnterFrame)
    {if (premuto){ _root.immagine._y=_root.immagine._y+10;}

    prima dell'ultima istruzione dovrei mettere un'altra condizione che la esegua solo nel caso in cui l'immagine non esca fuori dall'intervallo +85.5 : -574.5.
    SimonMX

  2. #2
    codice:
    // Ho bisogno di 2 clip
    // mask = Istanza del clip maskera
    // mc = Istanza del clip contenente la foto
    
    
    mc.setMask(mask)
    
    // limite sinistro maskera
    max_sx_mask=mask._x
    // limite destro maskera
    max_dx_mask=mask._x+mask._width
    // limite superiore maskera
    max_top_mask=mask._y
    // limite inferiore maskera
    max_bot_mask=mask._y+mask._height ; 
    // elocità di spostamente
    vel=5 // puoi variare
    
    
    // Prototypo ugluale per tutti i pulsanti
    // devono essre premuti
    
    MovieClip.prototype.test=function(){
    this.onMouseDown=function(){
    	if(this.hitTest(_level0._xmouse,_level0._ymouse,false)){
           sopra=true 
    	   muovi(this._name)
    	}
    }
    
    this.onMouseUp=function(){
    	if(this.hitTest(_level0._xmouse,_level0._ymouse,false)){
           sopra=false
    	}
    }
    }
    // assegnazione frecce al prototype
    su.test()
    giu.test()
    sx.test()
    dx.test()
    
    //Funziione richiamata dal Mouse Down
    function muovi(nome){
    	switch(nome){
    		case "su":
    		this.onEnterFrame=function(){
    	         if(sopra){
    	         	if(mc._y+mc._height > max_bot_mask){mc._y-=vel}
    	         }else{delete this.onEnterFrame}
    		}
    		break;
    		case "giu":
    		
    		this.onEnterFrame=function(){
    	         if(sopra){
    	    	     if(mc._y < max_top_mask){mc._y+=vel}
    	         }else{delete this.onEnterFrame}
    		}
    		break;
    		case "sx": //<<
    		this.onEnterFrame=function(){
    	         if(sopra){
    	    	     if(mc._x < max_sx_mask){mc._x+=vel}
    	         }else{delete this.onEnterFrame}
    		}
    		break;
    		case "dx": //>>
    		this.onEnterFrame=function(){
    	         if(sopra){
    	    	     if(mc._x+mc._width > max_dx_mask){mc._x-=vel}
    	         }else{delete this.onEnterFrame}
    		}
    		break;
    	}
    }
    
    // Fine

  3. #3

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.