Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Incremento puntatore

  1. #1

    Incremento puntatore

    Avrei il seguente problema:

    il seguente codice consente si effettuare uno slideshow di immagini che sono memorizzate in una matrice; vorrei che fosse possibile mostrare tutte le immagini della matrice agendo sul pulsante rightButton_mc; il problema che ho è che non riesco a modificare il puntatore per righe della matrice ( this.puntatore_param ); l'incremento di questo puntatore (per passare alla seconda riga della matrice) dovrebbe avvenire nella procedura relativa al pulsante destro (rightButton_mc). Grazie in anticipo!



    codice:
    #initclip
    
    //Costruttore della classe "SlideShowClass"
    function SlideShowClass()
    {	this.init();
    }
    
    //Il componente "SlideShowClass" eredita i metodi e le proprietà
    // della classe "MovieClip()"; la riga successiva evita che la classe
    // "SlideShowClass" sovrascriva i metodi propri della classe "MovieClip"
    SlideShowClass.prototype = new MovieClip();
    
    //Inizializzazione del componente
    SlideShowClass.prototype.init = function()
    {
    	//Puntatore matrici dati
    	this.puntatore_param = puntatore;
    	
    	//Array dei file relativi alle immagini da visualizzare
    	this.fileNames_param = array_img[this.puntatore_param];
    	
    	//Array dei file mp3
    	this.mp3Names_param = array_mp3[this.puntatore_param];
    	
    	//Array dei tioli relativi alle immagini
    	this.imageTitles_param = array_titoli[this.puntatore_param];
    
    	//Path relativo alla directory delle immagini
    	this.directoryPath_param = path_img[this.puntatore_param];
    	
    	//Path relativo alla directory dei file mp3
    	this.directoryMP3_param = path_mp3[this.puntatore_param];
    	
    	//Dimensioni originali del box di visualizzazione (width, height)
    	this.origWidth = this.container_mc._width;
    	this.origHeight = this.container_mc._height;
    	
    	//Imposto il centro dell'immagine
    	this.center = this.container_mc._x + (this.origWidth / 2);
    		
    	//Puntatore all'array delle immagini
    	this.imagePointer = 0;
    	
    	//Caricamento della prima immagine
    	this.loadNextImage();
    	
    	//Creo un'istanza dell'oggetto "Sound"
    	mySound = new Sound();
    } // init
    
    
    //Caricamento dell'immagine successiva nel container "MovieClip"
    SlideShowClass.prototype.loadNextImage = function()
    {
    	//Impongo una trasparenza nulla al caricamento dell'immagine in modo
    	//da non vedere lo sfarfallio
    	this.container_mc._alpha = 0;
    
    	this.container_mc.loadMovie(this.directoryPath_param + 
    					this.fileNames_param[this.imagePointer]);
    	
    	this.label_txt.text = this.imageTitles_param[this.imagePointer];
    	
    	//Numero progressivo dell'immagine
    	this.num_txt.text = this.imagePointer + 1;
    	
    	//Attesa per il caricamento dell'immagine
    	clearInterval(this.loadNextID);
    	this.loadCompleteID = setInterval(this, "waitForLoadedImage", 100);
    
        // Azioni per i pulsanti "leftButton_mc" e "rightButton_mc"
    	this.leftButton_mc.onRelease = function()
    	{	
    		this.clearInterval(this.loadcompleteID);
    		this._parent.imagePointer -= 1;
    		if(this._parent.imagePointer < 0)
    		   this._parent.imagePointer = 0;
    		this._parent.loadNextImage();
    		
    		 mySound.stop();
    		 //Per riportare il MC play_mc nella posizione iniziale
    		 _root.slideshow_mc.play_mc.gotoAndStop("play");
    	}
    	
    	this.rightButton_mc.onRelease = function()
    	{	
    		//Incremento del puntatore relativo all'array delle immagini
    		this._parent.imagePointer ++;
    		if(this._parent.imagePointer >= this._parent.fileNames_param.length) {
    	      
    		  //puntatore righe (array)
    		  this._root.puntatore_param ++;
    		  
    		  //puntatore colonne (elementi array)
    		  this._parent.imagePointer = 0;
    		  
    		  
    		  
    		  //trace(this._root.puntatore_param);
    		};
    		
    		//Carico l'immagine successiva
    		this.clearInterval(this.loadcompleteID);
    		this._parent.loadNextImage();
    		
    		mySound.stop();
    		//Per riportare il MC play_mc nella posizione iniziale
    		_root.slideshow_mc.play_mc.gotoAndStop("play");
    	}
    	
    			
    	// Gestione del pulsante "home_mc"
    	this.homeButton_mc.onPress = function () {
    	    gotoAndStop("main");
    		mySound.stop();
    		//Per riportare il MC play_mc nella posizione iniziale
    		_root.slideshow_mc.play_mc.gotoAndStop("play");		
    	}
    	
    }
    
    ////////////////////////////////////////////////////////////
    //Attesa per il caricamento dell'immagine; ridimensionamento
    //e conteggio per il successivo caricamento
    ////////////////////////////////////////////////////////////
    SlideShowClass.prototype.waitForLoadedImage = function()
    {	if(this.container_mc.getBytesLoaded() > 4 && this.container_mc.getBytesLoaded() == this.container_mc.getBytesTotal())
    	{	clearInterval(this.loadCompleteID);
    								
    		//Scala originale
    		this.container_mc._xscale = this.container_mc._yscale = 100;
    
    		// Controllo per le immagini oversized
    		if(this.container_mc._width > this.origWidth ||
    		   this.container_mc._width > this.origHeight)
    		{
    			var wRatio = this.origWidth / this.container_mc._width;
    			var hRatio = this.origHeight / this.container_mc._height;
    			
    			//Controllo se l'immagine è troppo larga o troppo alta
    			if(wRatio < hRatio)
    			{
    				//too wide, shrink to fit width
    				this.container_mc._width *= wRatio;				
    				this.container_mc._height *= wRatio;			
    				this.container_mc._x = ((this.origWidth - this.container_mc._width)/2);
    				
    			} else
    			{
    				//too wide, shrink to fit height
    				this.container_mc._width *= hRatio;				
    				this.container_mc._height *= hRatio;
    				this.container_mc._x = ((this.origWidth - this.container_mc._width)/2);
    				
    			} // if-else
    			
    			//Riposizionamento del centro dell'immagine
    			this.container_mc._x = this.center - (this.container_mc._width / 2);
    			
    			//trasparenza massima quando riposiziono il centro dell'immagine
    			this.container_mc._alpha = 100;
    
    		} // if oversized
    	} // if loaded
    } // waitForLoadedImage
    
    
    Object.registerClass("FSlideShowSymbol", SlideShowClass);
    
    #endinitclip

  2. #2

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.