Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [MX04] Problema con Galleria dinamica

    Utilizzo questo codice
    codice:
    //Definisco le variabili
    nfoto = 7;
    limite = nfoto+1; //limite per i cicli
    prof = 0; //profondità iniziale
    initx = 10; //posizione iniziale X
    inity= 10; //posizione iniziale Y
    
    //Definisco un array con l'URL delle foto
    url = new Array();
    for(x=1; x<limite; x++)
    {
    	url[x] = 'foto7.jpg';
    }
    
    //Creo un ciclo per inizializzare la base delle foto
    for(f=1; f<limite; f++)
    {
    	duplicateMovieClip('foto0', 'foto'+f, prof++);
    	setProperty('foto'+f, _x, initx);
    	setProperty('foto'+f, _y, inity);
    	setProperty('foto'+f, _alpha, 70);
    	loadMovie(url[f], 'foto'+f);
    	initx+=100;
    }
    come potete notare in questo caso ho usato un file unico che dovrebbe riproporsi ogni volta per n volte.
    Il problema è che questo script funziona solo con immagini che siano più alte che larghe, infatti se uso una JPG che abbia una proporzione tipo wallpaper, lo script crea tutti i movie clip ma non visualizza nulla.

    in ogni MC duplicato c'è il seguente codice:
    codice:
    onClipEvent(load){
    	alt = _height;
    	lung = _width;
    	newalt = 100;
    	newlung = 100;
    	if(alt > lung)
    	{
    		newlung = Math.round((lung * 100) / alt);
    		newalt = 100;
    	}
    	if(alt < lung)
    	{
    		newlung = 100;
    		newalt = Math.round((alt * 100) / lungh);
    	}
    	_height = newalt;
    	_width = newlung;
    }
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  2. #2
    potebbe essere:
    codice:
    if(alt > lung)
    	{
    		newlung = Math.round((lung * 100) / alt);
    		newalt = 100;
    	}else{
    		newlung = 100;
    		newalt = Math.round((alt * 100) / lungh);
    	}
    ppprova

  3. #3
    uguale identico, non cambia nulla.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  4. #4
    Originariamente inviato da Lathspell
    uguale identico, non cambia nulla.
    ...

    cmq ho notato che nel secondo if hai scritto lungh invece di lung
    codice:
    onClipEvent(load){
    	alt = _height;
    	lung = _width;
    	newalt = 100;
    	newlung = 100;
    	if(alt > lung)
    	{
    		newlung = Math.round((lung * 100) / alt);
    		newalt = 100;
    	}
    	if(alt < lung)
    	{
    		newlung = 100;
    		newalt = Math.round((alt * 100) / lungh);// <= QUI
    	}
    	_height = newalt;
    	_width = newlung;
    }

  5. #5
    Ora sembra funzionare con quasi tutte le immagini campione tranne una... vabbè, mi accontento... però ho un altro problema:
    dal codice potete vedere come ho duplicato dei MC per poi utilizzare LoadMovie per caricare l'immagine. Il mio problema è che durante la loro creazione non ho la possibilità di sapere la dimensione effettiva della foto (cosa che viene poi fatta dal codice interno ad ogni MC) però senza sapere la dimensione non ho la possibilità di posizionare in modo uniforme i MC duplicati... come posso fare?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  6. #6
    Ho risolto in questo modo:
    codice:
    onClipEvent(data){
    	altezza = _height;
    	lunghezza = _width;
    	newalt = 100;
    	newlung = 100;
    	if(altezza > lunghezza)
    	{
    		newlung = Math.round((lunghezza * 100) / altezza);
    		newalt = 100;
    	}else{
    		newlung = 100;
    		newalt = Math.round((altezza * 100) / lunghezza);
    	}
    	_height = newalt;
    	_width = newlung;
    	_y = (120 - newalt) / 2;
    	stringa = _name;
    	stringa = stringa.split('foto').join('');
    	stringa--;
    	stringa = stringa * 110;
    	dist = (110 - newlung) / 2;
    	_x = stringa + dist;
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  7. #7
    se nn ho mal capito....

    per posizionare gli mc duplicati tutti sulla stessa riga, dovresti
    agire in questo modo, ma tieni presente che il tuo ciclo for parte con f=1 e nn con f=0, quindi avrai il primo mc con cordinate x=110
    codice:
    setProperty('foto'+f, _x, initx+(100*f));
    se ho detto una boiata, fai finta di niente (tanto di stronzat* se ne sentono un sacco in giro)

  8. #8

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.