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

    Galleria immagini ... ad espansione(?!)

    Salve, mi è stato chiesto di sviluppare un sito "molto automatizzato" e ho alcuni problemi per una sezione in particolare.

    In questa sezione devo costruire una matrice di quadratini che conterranno, una volta ingranditi, delle immagini.
    per la creazione dei quadratini utilizzo:
    codice:
    for (i=1; i<rmax; i++) {
    	for (j=1; j<cmax; j++) {
    		pos = (cmax-1)*(i-1)+j;
    		this.attachMovie("quad", "quad"+pos, pos);
    		_root["quad"+pos]._x = ((583-spacing*cmax)/2)+spacing*j;
    		_root["quad"+pos]._y = ((420-spacing*rmax)/2)+spacing*i;
            }
    }
    Il problema arriva quando devo far aprire questi mc perchè li devo ingrandire da 10 a 200px e non voglio che si aprano al di fuori dello stage (w:583,h:360).

    Già separo i quattro casi:
    1- _x+200>583 && _y+200>360
    2- _x+200>583 && _y+200<360
    3- _x+200<583 && _y+200>360
    4- _x+200<583 && _y+200<360
    ma come faccio ad aprirli correttamente?
    per avere un esempio di quello che dovrebbe fare ...guardate qui (prima dovete premere sul pulsante bianco)

    Grazie

  2. #2
    qualche idea?!

  3. #3
    ciao, ECCOLA.........

    disegna il primo quadrato,selezionalo e premi F8,seleziona il punto di reg. in alto a sx e posiziona il primo quadrato in alto a sx ed istanzialo mc1. creati il secondo quadrato,selezionalo e premi F8,seleziona il punto di reg. in alto al centro e posiziona il secondo quadrato in alto al centro ed istanzialo mc2, creati il terzo quadrato,selezionalo e premi F8,seleziona il punto di reg. in alto a dx e posiziona il terzo quadrato in alto a dx ed istanzialo mc3.

    in base al punto di registrazione la funzione per il resize ti espande il quadrato in una direzione piuttosto che in un'altra.

    un volta creata la griglia, sul frame metti:
    codice:
    MovieClip.prototype.myResize = function(clip, wArr, hArr, frames){
    	clip.wArr = Math.floor(wArr);
    	clip.hArr = Math.floor(hArr);
    	clip.frames = Number(frames);
    	this.onEnterFrame = function(){
    		if(Math.floor(clip._width) != clip.wArr && Math.floor(clip._height) != clip.hArr){
    			wspost = (clip.wArr-clip._width)/frames;
    			hspost = (clip.hArr-clip._height)/frames;
    			clip._width += wspost;
    			clip._height += hspost;
    		} else {
    			delete this.onEnterFrame;
    			clip._width = clip.wArr;
    			clip._height = clip.hArr;
    		}
    	}
    }
    
    
    
    	mc1.onRollOver = function(){
    	myResize(mc1,200,200,4)
    	}
    	mc1.onRollOut = function(){
    	myResize(mc1,44,44,4)
    	}
    	mc2.onRollOver = function(){
    	myResize(mc2,200,200,4)
    	}
    	mc2.onRollOut = function(){
    	myResize(mc2,44,44,4)
    	}
    	mc3.onRollOver = function(){
    	myResize(mc3,200,200,4)
    	}
    	mc3.onRollOut = function(){
    	myResize(mc3,44,44,4)
    	}
    	mc4.onRollOver = function(){
    	myResize(mc4,200,200,4)
    	}
    	mc4.onRollOut = function(){
    	myResize(mc4,44,44,4)
    	}
    	mc5.onRollOver = function(){
    	myResize(mc5,200,200,4)
    	}
    	mc5.onRollOut = function(){
    	myResize(mc5,44,44,4)
    	}
    	mc6.onRollOver = function(){
    	myResize(mc6,200,200,4)
    	}
    	mc6.onRollOut = function(){
    	myResize(mc6,44,44,4)
    	}
    l'esempio lo puoi vedere QUI

    -Nextart.it Graphic Solutions

  4. #4
    Grazie mille :-) lo provo subito

  5. #5
    di nulla .........
    -Nextart.it Graphic Solutions

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    532
    ho provato con un solo quadrato.

    registro in alto a sinistra.

    il codice è

    MovieClip.prototype.myResize = function(clip, wArr, hArr, frames){
    clip.wArr = Math.floor(wArr);
    clip.hArr = Math.floor(hArr);
    clip.frames = Number(frames);
    this.onEnterFrame = function(){
    if(Math.floor(clip._width) != clip.wArr && Math.floor(clip._height) != clip.hArr){
    wspost = (clip.wArr-clip._width)/frames;
    hspost = (clip.hArr-clip._height)/frames;
    clip._width += wspost;
    clip._height += hspost;
    } else {
    delete this.onEnterFrame;
    clip._width = clip.wArr;
    clip._height = clip.hArr;
    }
    }
    }

    this.mc11.onRollover = function(){
    myResize(mc11,500,500,10)
    }
    this.mc11.onRollout = function(){
    myResize(mc11,44,44,10)
    }


    ma non funziona, dove sbaglio ?

  7. #7
    ciao scus ama perche' c'e' this davanti a mc11?
    -Nextart.it Graphic Solutions

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.